全部产品
云市场

企业邮箱退信返回“spf check failed”错误

更新时间:2017-06-07 13:26:11

问题场景:

企业邮箱退信返回“554 Reject by behaviour spam ….spf check failed”错误的原因是由于发信方邮箱域名的SPF验证没有通过导致被系统退回。

问题分析:

什么是SPF验证:

SPF是(Sender Policy Framework) 的缩写,一种以IP地址认证电子邮件发件人身份的技术,是非常高效的垃圾邮件解决方案。接收邮件方会首先检查域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回。

什么样的邮件会被SPF检查拒收:

SPF是通过域名的TXT记录来进行设置的。假如一个域名的地址是@abc.com,对应的域名TXT记录做了如下解析:

abc.com 3600 IN TXT “v=spf1 include:x.x.x.x -all”

那么就表示对方只授权了IP x.x.x.x 可以代表域名abc.com 来发送邮件,发件人正常使用此IP x.x.x.x发送邮件就是正确的,万网企业邮箱不会拒收。

但是假如发件人使用IP不是x.x.x.x,使用其他不在发送方域名TXT记录中的IP发送邮件,那么将无法通过万网的SPF检查,系统会将此邮件进行退回。

如何判断是由于对方未使用授权IP发送邮件导致SPF验证失败的退信?

万网邮箱针对SPF检查未通过的邮件会产生退信,退信的报错如下:

‘554 Reject by behaviour spamANTISPAM_BAT[01201311R961S97ruler036, r41g03024]: broken the antispam rules’

‘554 Reject by behaviour spamANTISPAM_BAT[01201311R196a, c01a14442]: spf check failed (in reply to MAIL FROM command) ’

解决方法:

  • 发件方需要使用指定在其域名 TXT 记录中的 IP 投递邮件,比如设置的是x.x.x.x,那么就固定需要使用x.x.x.x发送邮件;如果指定一个网段,发送 IP 需要包含在该网段内,关于 SPF 的设置语法规则可以参考 SPF 官方网站:http://www.openspf.org/SPF_Record_Syntax

  • 若发件方的 IP 有所增加或变更,需及时更新域名 TXT 记录中的授权 IP,比如新增2.2.2.2,那么就需要将2.2.2.2也加入到域名的 TXT 记录中,再使用2.2.2.2发送邮件。

  • 如果发送方不需要进行 SPF 安全验证,可以取消 SPF 域名解析,接收方就不会再进行 SPF 解析验证。