DMARC 检查:用大白话读懂 DMARC 记录
DMARC 记录只有一行文本,却决定了冒充您的邮件会遭遇什么。输入域名即可获取它,查看每个标签的解释,并了解这条策略究竟是真正在保护域名,还是只在旁观。
DMARC 在 SPF 和 DKIM 之上增加了什么
DMARC 策略保存在 _dmarc.yourdomain.com 的 TXT 记录中。当一封邮件声称来自您的域名时,接收方会检查 SPF 和 DKIM。只要其中至少一项通过,并且其域名与读者看到的 From 地址一致,DMARC 就通过。如果两项都不满足,接收方就会执行您的策略。
最后这一点,即对齐,正是 DMARC 不只是把 SPF 和 DKIM 简单拼在一起的原因。它能阻止攻击者用自己的域名通过 SPF,同时在 From 行显示您的域名。
三种策略,以及何时升级
| 策略 | 接收方如何处理未通过验证的邮件 | 适用时机 |
|---|---|---|
| p=none | 照常投递,并向您发送报告 | 起点:先观察和了解 |
| p=quarantine | 视为可疑邮件,通常放入垃圾邮件箱 | 报告显示您的正常邮件都能通过之后 |
| p=reject | 拒收邮件 | 对发信稳定的域名来说,这是目标 |
用大白话解释每个 DMARC 标签
| 标签 | 含义 |
|---|---|
| v=DMARC1 | 版本。必须放在最前面 |
| p | 域名的策略:none、quarantine 或 reject |
| sp | 子域名的策略。未设置时,子域名沿用 p |
| pct | 策略所适用的未通过验证邮件的百分比 |
| rua | 每日聚合报告的发送地址,格式为 mailto: 地址 |
| ruf | 单封失败报告的发送地址。很少有接收方会发送这类报告 |
| adkim 和 aspf | DKIM 和 SPF 的对齐模式:r(宽松,默认)或 s(严格) |
| fo | 哪些失败情形应触发失败报告 |
部署 DMARC 而不丢失正常邮件
- 发布 v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com。邮件投递不会有任何变化,报告会开始陆续到来。
- 阅读几周的报告。报告会列出所有以您的域名发送邮件的来源,以及它们是否通过验证。DMARC 报告服务可以把 XML 转换成易读的内容。
- 通过把未通过验证的合法发件方加入 SPF,或为其启用 DKIM 签名,来逐一修复。
- 改为 p=quarantine,可以先搭配 pct=25,在观察是否出问题的同时逐步调高。
- 当报告显示只有未经授权的邮件才会失败时,改为 p=reject。