导致此错误的原因:554 5.7.1 [TPG-B01]反向散射被拒绝以阻止DNSBL列表。请在SMTP会话期间拒绝邮件

时间:2014-12-10 12:07:13

标签: php email

我有一个尝试发送电子邮件的PHP脚本,但在我的本地计算机上不断触发此错误:

Warning: mail(): SMTP server response: 
554 5.7.1 [TPG-B01] Backscatter rejected to prevent DNSBL listings. 
Please reject mail during the SMTP session. For more information, 
see http://spamlinks.net/prevent-secure-backscatter.htm

谷歌搜索几乎没有透露该错误的含义,并且引用的URL似乎已关闭。有谁知道是什么原因造成的?

1 个答案:

答案 0 :(得分:2)

我终于找到了它。

邮件信封发件人为空时,即当它与远程SMTP服务器通信并发送如下内容时,会发生此错误:

  

220 mail.tpg.com.au ESMTP (mail14) Sendmail ready.
  的 HELO localhost
  250 mail14.tpgi.com.au Hello [x.x.x.x] (may be forged), pleased to meet you
  的 MAIL FROM:<>
  250 2.1.0 <>... Sender ok

即使它说“发件人确定”,但确定。发送消息后,将触发上述554错误。

解决方案是确保PHP的sendmail_from设置有效(而不是空)。您可以在php.ini文件中执行此操作,如此...

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from=foo@bar.com

或在你的剧本中......

ini_set('sendmail_from', 'foo@bar.com');

希望能帮助其他人。我花了几个小时来追踪它。