技术解析 · 附来源的解答
如何解读 DMARC 汇总报告
要解读 DMARC 汇总报告,您需要解压收件邮件服务器发来的 XML 文件,并解析其中的 record 标签,找出哪些 IP 地址在代表您发送邮件,以及它们是否通过了 SPF 和 DKIM 对齐。由于这些报告是原始 XML 格式,大多数开发者会使用解析器或 SendHQ 免费工具(https://sendhq.cc/tools)等工具将数据可视化。
了解 XML 结构
DMARC 汇总报告使用 XML 模式。报告中每个来源 IP 地址对应一个 record 部分。在每条 record 中,您可以看到来源 IP、从该 IP 发送的邮件数量,以及一组策略评估结果。策略评估部分详细说明邮件是否通过了 SPF 和 DKIM 检查,以及这些结果是否与邮件头中的 From 域名对齐。
分析 SPF 和 DKIM 对齐
报告中的 pass 结果表示身份验证检查成功,但对 DMARC 而言,真正重要的是对齐。当 Return-Path 中的域名与 From 头中的域名匹配时,即为 SPF 对齐。当 DKIM 签名中的 d= 标签与 From 头域名匹配时,即为 DKIM 对齐。如果两者都失败,无论单项检查结果如何,该邮件都无法通过 DMARC。
识别未经授权的发件方
在报告中查找您不认识的 IP 地址。如果某个 IP 发送了大量 SPF 和 DKIM 均失败的邮件,那么它很可能是未经授权的发件方,或是配置错误的第三方服务。将这些 IP 与您已知的基础设施和供应商列表进行比对,判断是否需要更新 SPF 记录,或为合法合作伙伴提供 DKIM 密钥。
解读处置结果
disposition 标签告诉您收件服务器根据您当前的 DMARC 策略如何处理了该邮件。如果策略为 p=none,处置结果通常为 none,表示邮件虽然验证失败但仍被投递。如果是 p=quarantine,邮件可能被送入了垃圾邮件文件夹。如果是 p=reject,邮件被完全拦截。利用这些指标,您可以安全地将策略从 none 逐步收紧到 reject。
团队常问的问题
为什么 DMARC 报告以压缩的 XML 文件形式发送?
XML 能承载可供机器处理的结构化数据,而压缩则可以减少每天发送大量汇总数据所需的带宽。
这些报告多久生成一次?
大多数收件邮件服务器每 24 小时发送一次汇总报告,但具体时间因服务商而异。
汇总报告和取证报告有什么区别?
汇总报告提供邮件流的宏观统计数据,而取证报告提供具体失败邮件的详细样本。
一手资料
- RFC 7489:基于域的消息认证、报告与一致性(DMARC) — RFC Editor
- RFC 7208:发件人策略框架(SPF) — RFC Editor
- RFC 6376:DomainKeys 识别邮件(DKIM) — RFC Editor