开发者社区> 问答> 正文

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

已解决

展开
收起
2018-01-20 22:02:34 1856 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

    问题场景:

    企业邮箱退信返回“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 解析验证。

    2018-01-26 19:55:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载