PHP邮件返回TRUE,但不发送电子邮件

时间:2011-03-30 17:12:49

标签: php

简单代码:

mail("my_email@gmail.com", $subject, $text);

它不会发送电子邮件,但它仍然会返回TRUE。什么是hapenning?

P.S。即使我添加标题,结果也一样!

3 个答案:

答案 0 :(得分:12)

来自man page for mail()

  

如果邮件是,则返回TRUE   成功接受交付,   否则就错了。

     

重要的是要注意这一点   因为邮件被接受了   交付时, NOT 表示邮件   实际上会达到目的   目的地。


除非 实际 检查电汇以查看正在发生的事情,否则基本上没有任何东西真正可以在普通的PHP中完成。我建议使用一些邮件库来表明邮件是否发送(如果存在)

答案 1 :(得分:3)

你知道电子邮件没有发送的事实吗?电子邮件可能会从您的php脚本发送到您的SMTP服务器,但会被丢弃在第一个SMTP服务器和Gmail之间。

尝试查看网络流量,以验证是否使用类似wireshark的内容发送电子邮件。

答案 2 :(得分:2)

请参阅@ Neal的评论。简单地返回true意味着很少。

您应该检查您的PHP.ini并确保您的SMTP服务器设置正确(如果在Windows上)或您的sendmail路径(Linux)是正确的。从那里,检查您的sendmail配置。