我正在尝试让我的 PHP 脚本使用 mail() 命令发送邮件,我认为该命令使用 linux sendmail 或 mail 命令。
我已经尝试使用 PHP mail() 和 linux 命令行邮件命令发送,但在这两种情况下,邮件都会被发送,但它只能到达一些电子邮件。我已经测试了 5 个不同的域,其中 3 个收到了电子邮件,而其中 2 个没有。邮件甚至不会成为垃圾邮件,它们根本就不会到达。
使用 PHP mail(),我使用了正确的发件人地址标题,并且可以在我的 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")
(当然我在这里用真实的电子邮件和域名替换了假的)