关于DMARC报告的咨询:DKIM验证通过但SPF验证失败
关于DMARC报告的咨询:DKIM验证通过但SPF验证失败
嗨,我来帮你拆解下这份DMARC报告里的信息,以及你遇到的DKIM过、SPF败的问题~
首先先梳理报告里的关键设置和背景:
- 这份报告是Google生成的,统计的是**2024年5月29日(UTC时间)**的邮件流量(把时间戳转成可读时间啦:1716940800对应当天0点,1717027199对应当天23:59:59)
- 你的域名
example.com的DMARC政策是:- 严格对齐模式:
adkim=s(DKIM签名域名必须和发件人域名完全一致)、aspf=s(SPF验证的域名必须和发件人域名完全一致) - 失败处理规则:主域名和子域名都执行
reject(拒收验证失败的邮件),但目前只对10%的流量生效(pct=10),剩下90%暂时不会执行拒收
- 严格对齐模式:
接下来针对你说的「DKIM验证通过但SPF验证失败」的情况,常见原因有这几个,你可以对照排查:
- SPF记录未包含发送源IP
看报告里<record>下<row>的<source_ip>字段,这个是发送邮件的服务器IP。你需要检查自己域名的SPF记录,确认这个IP是否被包含在SPF的允许列表里(比如ip4:xxx.xxx.xxx.xxx或者包含该IP的第三方服务的include机制)。如果没包含,SPF自然会验证失败。 - SPF对齐不满足严格模式要求
因为你设置了aspf=s(严格对齐),要求发件人邮箱的域名(就是邮件头里的From地址域名,对应报告里<identifiers>的<header_from>)必须和SPF验证返回的域名完全一致。比如:- 发件人是
user@sub.example.com,但SPF验证的是example.com,严格模式下就会判定对齐失败; - 或者发件人域名是
example.com,但SPF验证通过的是某个第三方转发平台的域名(比如mail.example-marketing.com),也会触发对齐失败。
- 发件人是
- 邮件被第三方转发导致SPF失效
如果你的邮件经过了第三方服务转发(比如邮件列表、CRM营销平台、企业邮件网关),转发服务器会替换邮件的源IP,这时候原SPF验证会因为源IP变更而失败。但DKIM是基于邮件内容的签名,只要转发方没修改签名相关的内容,DKIM依然能验证通过,这就会出现你看到的“DKIM过、SPF败”的情况。
另外要提醒你:因为DMARC的规则是只要DKIM或SPF其中一个验证通过且满足对齐要求,就会判定DMARC验证通过,所以这类邮件不会触发你的reject政策。如果后续要调整SPF,记得修改后确认记录格式是否正确(避免超过10个DNS查询这类常见错误)。
备注:内容来源于stack exchange,提问作者gdldg
相关产品推荐
相关产品推荐

