PHP mail()函数无法发送到hotmail?

时间:2011-04-26 23:28:43

标签: php email hotmail

好的,我在互联网上搜索了答案 - 遗憾地无济于事。我正在尝试使用PHP mail()函数发送邮件,以便成员可以按照链接进行注册。它适用于Gmail,Yahoo!,但不适用于Hotmail。请帮帮我!!!

   <?php
$headers .= 'To: <kenny.XXX@hotmail.com>' . "\r\n";
$headers .= 'From: <XXX@srv30.000webhost.com>' . "\r\n";
$headers .= 'Cc: XXX@srv30.000webhost.com' . "\r\n";
$headers .= 'Bcc: XXX@srv30.000webhost.com' . "\r\n";
$text="hello";
$text = str_replace("\n.", "\n..", $text);
mail('Kenny Worden:<kenny.XXX@hotmail.com>','Leos Realm account verification!',$text,$headers);
?>

如果这有助于任何人:

SMTP:localhost(srv30.000webhost.com)

SMTP PORT:25

3 个答案:

答案 0 :(得分:2)

您的代码似乎很好。我的猜测是你的服务器端有问题,检查邮件传递日志或让服务器管理员为你查看它们。可能是路由/ DNS问题。

编辑: 我只是在我的服务器上尝试了这个脚本,它运行良好。立即收到我的Hotmail地址的电子邮件。

答案 1 :(得分:2)

您缺少字符串"-f <from address>"作为第五个参数。

PHP Manual指出您需要提供此信息,以便MTA将在信封上发送正确的“发件人”地址。在标题中设置它是不够的。这种无聊是我不推荐mail()并将人们指向php-mailer或类似的原因。

(“信封”是指MTA与另一个MTA进行的对话,以便发送电子邮件。)

答案 2 :(得分:0)

代码很好, 你做的任何使它看起来像垃圾邮件将阻止它从hotmail 尝试为您的域创建spf记录,甚至签名

检查您的邮件服务器是否未列入黑名单,这可能会导致问题 http://www.mxtoolbox.com/

正如@staticsan推荐的php-mailer或http://swiftmailer.org/是你可以尝试使用的其他选项,可能有帮助