Я использую функцию php mail () для простого процесса отправки по электронной почте ввода контактной формы соответствующему лицу. Странно то, что форма всегда использовалась для обработки электронной почты, но однажды все это прекратилось, теперь функция возвращает false, но не выдает никакой ошибки.
Сайт находится на общем хосте. Когда спрошено об этом, они рекомендовали, чтобы я использовал реле SMTP xx.xxx.x.xxx
Поправьте меня, если я ошибаюсь, но функция mail () не обеспечивает условия для этого, не так ли? Конечно, это зависит от компьютера HOST, чтобы правильно настроить его реле?
У меня такой вопрос: это похоже на ошибку в конфигурации хоста, или это мой код? Вот пример почтового кода, который я использовал:
$to = "xxx@xxx.co.za"; //to who?
$subject = "Website Contact: $mysubject";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "From: $fname<$email1>\r\n";
$headers .= "Reply-To: $email1\r\n";
$headers .= "Return-Path:$email1\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
$headers .= "Content-Transfer-Encoding: quoted-printable\r\n";
$msg2 = nl2br($msg);
$send = mail($to, $subject, $msg2, $headers); //process mail
if(!$send):
//error stuff here
endif;
Большое спасибо,
Simon
@ eisberg - Я использую собственный обработчик ошибок, подобный этому:
//error handler function
function customError($errno, $errstr){
$err = "\n".date('Y-m-d H:m:s')." Error: [$errno] $errstr";
$fh = fopen("errlog.txt", 'a+');
fwrite($fh, $err);
fclose($fh);
}
set_error_handler("customError", E_ALL);
Значит ли это, что мне нужно изменить set_error_handler("customError", E_ALL);
на set_error_handler("customError", -1);
?