我一直在努力使用PHP的邮件功能发送电子邮件。我想要发送2封不同的电子邮件到2个不同的邮箱地址。
$allowHtmlHeader = "MIME-Version: 1.0\r\n";
$allowHtmlHeader .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers = "From: webmaster@xyz.com\r\nReply-To: webmaster@xyz.com\r\n" . $allowHtmlHeader;
$customerHeaders = "From: a.b.c@gmail.com\r\nReply-To: a.b.c@gmail.com\r\n" . $allowHtmlHeader;
$subject = "Enquiry";
$message = "Try me...";
$cMessage = "I score better!";
if ($_POST[cEmail] != null)
{
if (mail("a.b@gmail.com", $subject, $cMessage, $cHeaders)) {
echo("Message successfully sent!");
}
else {
echo("Message delivery failed...");
}
if (mail("a.b.c@gmail.com", $subject, $message, $headers)) {
echo("Message successfully sent!");
}
else {
echo("Message delivery failed...");
}
}
使用上面的代码,我可以成功地向a.b@gmail.com发送电子邮件。但在所有尝试中,没有一封邮件到达a.b.c@gmail.com,尽管它总是成功地到达a.b@gmail.com。我甚至尝试用a.b.c@gmail.com替换a.b@gmail.com,但仍然无法将任何邮件发送到那个电子邮件地址。
也许邮件功能不支持在名称中有超过1个点'.'的电子邮件?
任何帮助都将不胜感激!
a.b@
,但是当你将它改成a.b.c@
后就无法工作,那么这不是你的代码的问题。你是否收到了“发送成功”的消息?如果是这样,那么在邮件服务器的某个地方会发生一些阻止电子邮件传递的事情 - 我建议你首先查看邮件服务器上的日志,看看是否有任何奇怪的东西。我第一个猜测是它被某个垃圾邮件过滤器拦截了。 - andrewsi