У меня есть функция электронной почты в php:
function send_mail($to, $from, $objet, $message) {
$entetemail = 'MIME-Version: 1.0' . "\r\n";
$entetemail .= 'Content-type: text/plain; charset=UTF-8' . "\r\n";
$entetemail .= 'From: '.$from. "\r\n";
$entetemail .= 'Cc: ' . "\r\n";
$entetemail .= 'Bcc: ' . "\r\n";
$entetemail .= 'Reply-To: '.$from .''. "\r\n";
$entetemail .= 'X-Mailer: PHP/' . phpversion() . "\r\n" ;
$entetemail .= 'Date: '. date("D, j M Y H:i:s -0600");
return mail($to, $objet, $message, $entetemail);
}
$ to является действительным адресом электронной почты.
$ from выглядит так:
Firstname name <email@example.com>
$ objet и $ message приходят соответственно из входного текста и текстовой области.
У меня нет ошибок PHP, и почта отправляет мне ложные ответы.
После эха мой заголовок выглядит как на других серверах:
MIME-Version: 1.0
Content-type: text/plain; charset=UTF-8
From: Firstname Name
Cc:
Bcc:
Reply-To: Firstname Name
X-Mailer: PHP/4.4.9
Date: Fri, 18 Feb 2011 23:35:58 -0600
На моем локальном сервере все в порядке. Но на производственной линии строка From вызывает проблему из-за переменной $ from. Письмо не будет отправлено.
Я сделал что-то не так? Существует ли конфигурация сервера, которая нарушает все?