我在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是有效的电子邮件地址。 $看起来像:
Firstname name <email@example.com>
$ objet和$ message分别来自输入文本和textarea。
我没有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行会产生问题。电子邮件将不会发送。 我做错了什么吗?是否存在破坏一切的服务器配置?
答案 0 :(得分:1)
事实上它确实奏效了。
我刚用假电子邮件地址完成了所有测试。似乎生产服务器不喜欢它,但我的当地人并不关心。
我想知道怎么做,但我稍后会看到。