好吧,我已经在网上搜索了答案-遗憾的是无济于事。我试图使用PHP mail()函数发送邮件,以便成员可以按照链接注册。它适用于Gmail,雅虎!,但Hotmail不适用。请帮帮我!!
<?php
$headers .= 'To: <kenny.XXX@hotmail.com>' . "rn";
$headers .= 'From: <XXX@srv30.000webhost.com>' . "rn";
$headers .= 'Cc: XXX@srv30.000webhost.com' . "rn";
$headers .= 'Bcc: XXX@srv30.000webhost.com' . "rn";
$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
你的代码看起来不错。我猜是服务器端出了问题,检查邮件发送日志或者让服务器管理员帮你检查一下。可能是路由/dns问题。
编辑:我刚刚在我的服务器上尝试了那个脚本,它工作得很好。我的hotmail地址立刻收到了邮件。
您缺少作为第五个参数的字符串"-f <from address>"
。
PHP手册指出,您需要提供这个,以便MTA将发送信封上正确的"发件人"地址。在标题中设置它是不够的。这种愚蠢就是为什么我不推荐mail()
,而建议人们选择php-mailer
或类似的。
("信封"是指一个MTA与另一个MTA为了发送电子邮件而进行的对话。)
代码很好,你做的任何让它看起来像垃圾邮件的事情都会阻止它进入hotmail尝试为您的域创建SPF记录,甚至签名
检查您的邮件服务器是否被列入黑名单,这可能会导致问题http://www.mxtoolbox.com/正如@staticsan所建议的,php-mailer或http://swiftmailer.org/都是您可以使用的其他选项,可能会有所帮助