Email Spam Tester

免费工具

DKIM 记录检查工具

输入域名和选择器,从 DNS 获取 DKIM 公钥,并检查其能否正确解析、密钥强度,以及是否已撤销或处于测试模式。

在哪里查找 selector?

打开你已发送邮件的邮件头,找到 DKIM-Signature 邮件头。selector 是 s= 的值,d= 是域名。常见默认值:Google Workspace 使用 google,Microsoft 365 使用 selector1 和 selector2,Mailchimp 使用 k1,SendGrid 使用 s1 和 s2。

此工具检查 DNS 中发布的公钥。它无法判断某封邮件是否带有签名,也无法验证该签名是否有效。如需检查,请通过完整测试发送该邮件。

DKIM 如何查找密钥

邮件中的 DKIM 签名会指定域名(d=)和 selector(s=)。接收方将它们组合成 selector._domainkey.domain,读取该位置的 TXT 记录,并使用其 p= 标签中的公钥验证签名。一个域名可以发布任意数量的 selector,因此每个发信服务都可以使用自己的密钥,也可以在不中断服务的情况下轮换密钥。

检测工具需要 selector,因为 DNS 无法列出一个域名拥有的 selector。没有可供扫描的列表,selector 来自真实邮件的签名。

哪些情况会导致密钥强度不足或失效

RFC 8301 规定 RSA 密钥必须至少为 1024 位,建议使用 2048 位。验证方可以忽略更短的密钥,我们的检查器也会这样做,因此 512 位密钥等同于完全没有签名。Ed25519 密钥(RFC 8463)按设计就是短密钥,同时具有很高的强度,但目前并非所有接收方都能验证,因此通常会与 RSA 密钥一起发布,而不是取代 RSA 密钥。

检查器会完整解码密钥,因为如果一条记录被错误地拆分到多个 TXT 字符串中,或者 base64 无法解码,那么任何接收方都无法使用该密钥。空的 p= 表示该密钥已被主动撤销。t=y 表示域名仍处于测试阶段,RFC 6376 §3.6.1 要求验证方将其邮件完全视为未签名邮件。

改为测试真实邮件

这些工具读取 DNS。完整测试会读取邮件本身:向临时地址发送一封邮件,查看收件服务器评估的 SPF、DKIM 和 DMARC 结果、黑名单、邮件内容、两种垃圾邮件评分和修复方案。添加收件箱投递测试,查看邮件会进入 Gmail、Outlook、Yahoo 和其他提供商的哪个文件夹。

测试你的邮件查看示例报告

常见问题

如何查找 DKIM 选择器,以及如何确认是否启用了 DKIM?

给自己发送一封邮件,然后打开收到邮件的邮件头。如果其中有 DKIM-Signature 邮件头,说明邮件已签名:选择器是 s= 的值,域名是 d= 的值。如果没有该邮件头,说明你使用的发送服务没有签名。每个发送服务都使用自己的选择器签名,因此新闻简报和邮箱发出的邮件可能使用不同的选择器。

密钥没有问题,但 DKIM 因“body hash did not verify”而失败,为什么?

通常是因为邮件在签名后被修改,例如邮件列表添加了页脚,或安全网关重写了链接。密钥只能确认签名时的内容。完整测试会显示你的邮件的实际验证结果。

完整指南: DKIM fail

DKIM 密钥长度应为 1024 位还是 2048 位?

1024 位密钥可以在所有地方通过验证,RFC 8301 也允许使用。它仍然是最低要求,因此下次轮换密钥时应改用 2048 位。

一个域名可以有多条 DKIM 记录吗?

可以,每个选择器对应一条记录。许多域名有多条记录:邮箱服务商使用一条,每个新闻简报或账单服务各使用一条。请逐条检查。如果某个密钥已从 DNS 中删除,所有仍使用该密钥签名的邮件都会验证失败。

应该多久轮换一次 DKIM 密钥?

M3AAWG 建议至少每六个月轮换一次,如果私钥可能已经泄露,则应立即轮换。使用新选择器发布新密钥,将签名切换到新密钥,并且只有在使用旧密钥签名的邮件不再到达后,才删除旧记录。发件方会在四到五天内重试,因此应保留约一周。

常见错误

其他免费工具