4

好的,我在互联网上搜索了答案 - 遗憾的是无济于事。我正在尝试使用 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:本地主机(srv30.000webhost.com)

SMTP 端口:25

4

3 回答 3

2

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

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

(“信封”是指一个 MTA 与另一个 MTA 进行的为传递电子邮件而进行的对话。)

于 2011-04-27T00:14:29.537 回答
2

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

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

于 2011-04-26T23:59:11.293 回答
0

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

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

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

于 2011-04-27T00:26:08.473 回答