Linux邮件或PHP邮件()没有到达某些地址

时间:2011-11-24 10:17:58

标签: php email sendmail postfix-mta spf

我正在尝试使用mail()命令发送我的PHP脚本,我认为这些命令使用linux sendmail或mail命令。

我已尝试使用PHP mail()和linux命令行邮件命令发送,但在这两种情况下邮件都会被发送,但它只会收到一些电子邮件。我已经测试了5个不同的域名,其中3个接收了电子邮件,而其中2个没有。邮件甚至不会发送垃圾邮件,它们根本就不会发送垃圾邮件。

使用PHP mail()我使用正确的From地址标题,我可以在我的Gmail帐户中收到邮件。当我查看Gmail中的“原始”时,我可以看到一切正常(spf = pass等等)

感觉就像是某些接收服务器的自动拒绝。有人能指出我正确的方向吗?

更新:我检查了我的MTA日志文件,我发现了这些:

Nov 24 08:30:09 ranits postfix/pickup[8484]: 94861EC738: uid=33 from=<www-data>
Nov 24 08:30:09 ranits postfix/cleanup[8555]: 94861EC738: message-id=<20111124083009.94861EC738@mydomain>
Nov 24 08:30:09 ranits postfix/qmgr[7985]: 94861EC738: from=<www-data@mydomain.eu>, size=351, nrcpt=1 (queue active)
Nov 24 08:30:09 ranits postfix/smtp[8631]: 94861EC738: to=<name@mydomain.ee>, relay=mh3.elkdata.ee[213.180.31.146]:25, delay=0.35, delays=0/0/0.35/0, dsn=5.5.2, status=bounced (host mh3.elkdata.ee[213.180.31.146] refused to talk to me: 504 5.5.2 <mydomain>: Helo command rejected: need fully-qualified hostname)

Nov 24 08:28:10 ranits postfix/local[8558]: 69563EC738: to=<myname@mydomain.eu>, relay=local, delay=0.01, delays=0/0/0/0, dsn=5.1.1, status=bounced (unknown user: "myname")

(当然我在这里替换了真实的电子邮件和域名)

2 个答案:

答案 0 :(得分:2)

您应该阅读MTA的日志文件以了解发生了什么。

答案 1 :(得分:0)

您能提供一些代码示例吗?

我认为您忘记传递有效的标题,例如,有些电子邮件服务器拒绝没有设置X-Mailer的每封电子邮件。