PHP mail()函数不传递邮件

时间:2011-01-08 03:31:03

标签: php linux sendmail

我有一个小问题。我正在使用一个工作脚本(适用于我的测试帐户 - 共享服务器)使用mail()函数通过PHP发送邮件。

我刚刚有一台专用服务器,但我无法使该功能正常工作。我花了大约10个小时阅读有关BIND(针对SPF记录),dovecot,sendmail和postfix的各种文档,尝试各种方法来实现这一点。

显然我缺少一些东西。

所以我们知道PHP代码工作正常。所有标题都很好。我们知道这是因为它是我测试帐户的直接副本。所以问题必然出现在服务器配置的某个地方。 sendmail的路径是正确的,sendmail(显然)工作正常。我已经设置了脚本,现在根据PHP mail()函数的布尔结果提供“已发送”或“错误”。那就是:

if(mail($blah,$blah,$blah,$blah,$blah)) { echo "Sent"; } else { echo "Error";}

结果总是出现“已发送” - 然而,电子邮件永远不会到来。有人可以提出要检查的事情,因为我对此完全陌生(24小时左右!)。

提前致谢。

赖安

2 个答案:

答案 0 :(得分:0)

您是否尝试过mailq command查看是否有错误?这是一个更详细的answer to a similar question on ServerFault

答案 1 :(得分:0)

您安装了SMTP服务器吗?除非你安装一个,否则php邮件功能将无法运行。例如,在linux下,您可以安装postfix。在Windows下,MS交换就是一个例子。