DMARC 是什么?SPF、DKIM、DMARC 一次讲清楚,附 4 步配置流程
DMARC 决定收件方如何处理冒用你域名的邮件。本文用外贸和开发信场景讲清 SPF、DKIM、DMARC 的关系,给出从 p=none 到 p=reject 的 4 步配置流程、常见错误,以及免费的检查和生成工具。
任何人都可以在邮件的“发件人”里填上你的域名。DMARC 是一条 DNS 记录,告诉 Gmail、Outlook 这些收件方:如果一封自称来自你域名的邮件没有通过验证,应该放行、放进垃圾箱还是直接拒收。
我们检查了全球前 10,000 个域名,发现 41.6% 的收信域名没有启用 DMARC 强制策略。对外贸团队来说,这意味着买家可能收到冒用你域名的“更换收款账户”邮件;对发开发信的人来说,没有 DMARC 的邮件更容易进垃圾箱。
一、SPF、DKIM、DMARC 的关系
| 记录 | 回答的问题 | 放在哪里 |
|---|---|---|
| SPF | 哪些服务器可以用这个域名发信? | 域名本身的 TXT 记录 |
| DKIM | 这封信有没有被篡改、是不是真的由域名所有者签发? | selector._domainkey 下的 TXT 记录 |
| DMARC | SPF 和 DKIM 都对不上时怎么办?报告发给谁? | _dmarc 下的 TXT 记录 |
DMARC 通过的条件是:SPF 或 DKIM 至少有一项通过,并且通过的那一项和“发件人”显示的域名一致(称为“对齐”)。所以只配 SPF 不够,用第三方服务代发邮件时,往往要靠 DKIM 才能对齐。
; SPF: which servers may send for example.com
example.com. TXT "v=spf1 include:_spf.google.com ~all"
; DKIM: public key published by your mail provider (selector differs per provider)
google._domainkey TXT "v=DKIM1; k=rsa; p=MIIBIjANBg..."
; DMARC: what receivers do when SPF and DKIM do not match, and where to send reports
_dmarc TXT "v=DMARC1; p=none; rua=mailto:[email protected]"
二、4 步配置流程
- 第 1 步:列出所有以你域名发信的服务(企业邮箱、营销邮件、网站通知、CRM),用 SPF 生成器合成一条记录,并确认 DNS 查询不超过 10 次。
- 第 2 步:在每个服务的后台开启 DKIM,按提示把公钥加到 DNS。
- 第 3 步:发布 DMARC p=none,并设置 rua 报告邮箱。这一阶段不影响投递,只收集报告。
- 第 4 步:观察 2–4 周报告,确认正常邮件都通过后,改为 p=quarantine,再改为 p=reject。
站内推荐实用工具
DMARC 记录生成器
选择策略、填写报告邮箱,生成可直接添加的 _dmarc 记录。
三、最常见的 5 个错误
- 同时发布两条 SPF 记录:收件方直接判定 SPF 出错。只能有一条,新服务要合并进去。
- SPF 超过 10 次 DNS 查询:include 层层嵌套很容易超限,超限后 SPF 对所有邮件失效。
- 长期停在 p=none:只监测、不拦截。我们的调查中,21.9% 的收信域名停在这一步。
- 没有设置 rua:收不到报告,就无法判断能不能安全地升级到 quarantine。
- 忘了不发信的域名:停放域名、备用域名同样可以被冒用,应发布 v=spf1 -all 和 p=reject。
四、配完怎么检查
- MX 查询:确认邮件服务商和收信服务器。
- SPF 检查:展开所有 include,确认查询次数在 10 次以内。
- DMARC 检查:一次查看 SPF、DKIM、DMARC、MTA-STS,给出“已受保护 / 部分保护 / 可被冒用”的结论和修复建议。
站内推荐实用工具
DMARC 与 SPF 检查器
输入域名,检查能否被冒名发信,并逐条给出修复建议。
站内推荐实用工具
SPF 检查
展开所有 include,统计 DNS 查询次数,避免超过 10 次上限。
站内推荐实用工具
SPF 记录生成器
勾选 Google、Microsoft、Lark、腾讯企业邮等服务,生成正确的 SPF 记录。
站内推荐实用工具
MX 记录查询
查询邮件服务器和服务商。