使用方法
- 在 “域名” 中输入域名,例如 example.com。
- 如果已知道,从一封已签名的邮件中填写 “DKIM 选择器”,例如 google 或 selector1;不知道则留空。
- 点击 “检查域名”。在 “SPF 记录” 中,“DNS 查询次数” 必须保持在10次或以下。
- 阅读 “DMARC 策略”。none 只做监测;quarantine 与 reject 会对失败的邮件采取行动。
SPF 检查什么
SPF(RFC 7208)以 TXT 记录列出可以代表某个域名发送邮件的服务器。收件方读取发件人的域名,取得其 SPF 记录,并从左到右将发件服务器与每一项比对。第一个匹配的项决定结果,结果由其限定符决定:+ 表示通过(未写限定符时的默认值),- 表示失败,~ 表示软失败,? 表示中性。
- include、a、mx、ptr、exists 和 redirect 各占一次 DNS 查询,被包含的记录所用的查询也会计入。收件方在10次之后停止,并将结果视为错误,因此庞大的邮件系统可能在无人察觉时让 SPF 失效。
- ip4 和 ip6 不占用查询次数。提供商若公布其地址范围,即可直接用它们书写。
- 同一名称上有两条 SPF 记录是错误的(RFC 7208 第4.5节),而 ptr 不被推荐(第5.5节)。
DMARC 做什么
DMARC(RFC 7489)告诉收件方,对未通过域名检查的邮件应如何处理,以及把报告发送到哪里。它是位于 _dmarc 加上域名处的 TXT 记录,由以分号分隔的标签组成:p 为策略,sp 为子域名策略,pct 为策略适用的失败邮件比例,rua 为汇总报告的地址,adkim 与 aspf 为对齐方式,r 表示宽松,s 表示严格。
本工具读取位于 _dmarc 加上您输入的域名处的记录。若收件方在那里找不到记录,还会查看组织域名,而本工具不推算组织域名。
DKIM 密钥
DKIM 以密钥签署每封邮件,该密钥在 DNS 中按选择器发布,位置为选择器加上 ._domainkey 再加上域名(RFC 6376 第3.6.1节)。页面从公钥中读取 RSA 密钥的类型和长度。密钥为空表示它已被吊销。Ed25519 密钥(RFC 8463)的长度固定为256位。
本检查工具不做什么
- 它不发送邮件,也不测试真实邮件,因此无法判断您的邮件能否通过。
- 它不展开 %{d} 等宏,因此使用了宏的记录,其查询次数可能与收件方的不同。
- 它不推算 DMARC 的组织域名,也不检查返回空结果的查询。
示例:一个域名的 SPF 与 DMARC 记录
SPF 记录 v=spf1 +mx a:colo.example.com/28 -all 允许该域名的邮件服务器,以及 colo.example.com 中位于 /28网段内的地址发送邮件。其他所有发件方均失败(-all)。该记录占用两次 DNS 查询,即 mx 与 a。
DMARC 记录 v=DMARC1; p=reject; rua=mailto:[email protected] 要求收件方拒收未通过检查的邮件,并把汇总报告发送到 [email protected]。
| 检查项 | 结果 |
|---|---|
| SPF 的 DNS 查询次数 | 2 |
| 策略(p) | reject |
| 报告(rua) | [email protected] |
常见问题
仅有 SPF 记录能阻止伪造邮件吗?
不能。SPF 检查的是发送邮件的服务器,而不是读者在发件人一行看到的名称。应将它与 DKIM 以及高于 p=none 的 DMARC 策略配合使用。
为什么我的 SPF 记录因查询次数过多而失败?
每个 include、a、mx、ptr、exists 和 redirect 各占一次 DNS 查询,它们所指向的记录也会计入。总数超过10时,收件方会将 SPF 视为错误。请删除不再使用的 include,或改用提供商公布的 ip4 与 ip6 地址范围,它们不占用查询次数。
我应该使用哪种 DMARC 策略?
从 p=none 和一个 rua 地址开始,阅读几周的报告,并确认真实邮件能够通过。然后改用 quarantine,报告干净后再改用 reject。
什么是 DKIM 选择器?
它是 DKIM 记录中 ._domainkey 之前的名称。每个发送服务都使用自己的选择器,已签名的邮件会在其 DKIM-Signature 标头的 s= 标签中写明它。打开您发出的某封邮件的标头,即可找到它。
密钥长度是什么意思?
对于 RSA 密钥,它是模数的位数,这也是密钥长度的常用写法,例如1024或2048。若记录在复制时被截断或损坏,密钥无法读取,页面会说明这一点。
本检查工具会把我的域名发送给任何人吗?
只有被检查的名称会作为 DNS 查询发送给您所选的解析服务。我们不存储任何内容,页面的其余部分都留在您的浏览器中。
资料来源
- RFC 7208:发件人策略框架 SPF(英文)
- RFC 7489:基于域的邮件认证、报告与一致性 DMARC(英文)
- RFC 6376:DomainKeys 已识别邮件签名 DKIM(英文)
- RFC 8463:DKIM 的新加密签名方法 Ed25519(英文)
- Cloudflare:DNS over HTTPS,JSON API(英文)
数据和文字最近核对于2026年11月10日星期二。