邮件工具
DKIM 密钥检查
输入 DKIM selector 和域名,确认 DNS 中是否发布了用于验签的公钥记录。
DNS 查询
DKIM 的作用
DKIM(域名密钥识别邮件,RFC 6376)让发信方为出站邮件附加一段加密签名。签名服务器对选定的头字段和正文做哈希,并用私钥签名;DKIM-Signature 头会记录哪些头字段被覆盖(h= 标签)以及正文哈希(bh=)。配对的公钥以 TXT 记录形式发布在 <selector>._domainkey.<域名>,收信方取回该公钥即可验证签名。
如何解读结果
密钥记录由若干 tag=value 对组成。v=DKIM1 标明版本,k=rsa(或 k=ed25519)指明算法,p= 携带 base64 编码的公钥。可选的 t=y 表示测试模式,s=email 限定密钥仅用于邮件。本工具会报告记录是否存在,以及 p= 字段是否有内容。
实例解读
查询 example.com 的 selector「google」可能返回「v=DKIM1; k=rsa; p=MIGfMA0GCSq...AQAB」。非空的 p= 表明这是一把有效的 RSA 公钥,收信方可用它验证任何头部为 s=google; d=example.com 的签名。若 p= 为空(p=),按 RFC 6376 §3.6.1 该密钥已被吊销,任何使用此 selector 的签名都会验证失败。
常见问题与配置错误
当 DKIM 验签失败时,原因通常是以下某个记录层面的问题:
- p= 值为空——密钥已吊销,验签失败。
- 查询了错误的 selector——每个 selector 都是独立记录;邮件中的 s= 标签指明正确的那个。
- 使用 512 或 768 位 RSA 密钥——强度不足;RFC 6376 §3.3.3 建议 1024–2048 位。
- TXT 记录拆分或截断错误——长公钥须以引号字符串拼接,不能在值中间断开。
FAQ
- 在哪里找到我的 DKIM selector?— 查看你已发出邮件的 DKIM-Signature 头中的 s= 标签。
- 一个域名能有多把 DKIM 密钥吗?— 可以。不同 selector 让你轮换密钥或同时运行多个签名服务。
- 为什么 DKIM 通过了但 DMARC 仍失败?— DKIM 还需对齐:签名的 d= 域必须与 From 域匹配,DMARC 才会采信。