我在 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 行给出了一个问题。电子邮件将不会发送。我做错了什么吗?是否有破坏一切的服务器配置?