DKIM 检查:查看您的 DKIM 记录
DKIM 让发信服务器用私钥为每封邮件签名,接收方则用发布在 DNS 中的公钥来验证签名。输入您的域名和邮件服务商使用的选择器来获取这个公钥,然后查看它的长度、格式,以及签名可能失败的原因。
如何找到您的 DKIM 选择器
一个域名可以同时拥有多个 DKIM 密钥,分别用于不同的服务或密钥轮换,而选择器就是指明使用哪一个的标签。每个密钥都位于 selector._domainkey.yourdomain.com,所以 google._domainkey 和 s1._domainkey 可以并存。
最快的查找办法:给自己发一封邮件,打开完整的邮件头,查看 DKIM-Signature 这一行。其中 s= 的值是选择器,d= 是签名的域名。
不确定结果是什么样子?上方的示例按钮分别展示了健康的 2048 位密钥(yahoo.com,选择器 s2048)、会触发弱密钥警告的 1024 位密钥(yahoo.com,选择器 s1024),以及已吊销的密钥(gmail.com,选择器 20230601)。
部分服务商默认使用的选择器
这些会因服务商和账户的设置方式而异,所以请把它们当作起点,并向您的服务商确认。
| 服务商 | 常见选择器 |
|---|---|
| Google Workspace | google(较新的密钥使用以日期命名的选择器) |
| Microsoft 365 | selector1 和 selector2 |
| SendGrid | s1 和 s2 |
| Mailchimp | k1、k2 和 k3 |
| 许多控制面板和主机商 | default |
如何阅读 DKIM 记录
| 标签 | 含义 |
|---|---|
| v=DKIM1 | 版本。可选,但如果存在则必须为 DKIM1 |
| k | 密钥类型:rsa(默认)或 ed25519 |
| p | base64 编码的公钥。值为空表示该密钥已被吊销 |
| t=y | 测试模式:接收方可能对验证失败比较宽容 |
| t=s | 严格:签名域名必须与 From 域名完全一致 |
| s | 该密钥可用于哪些服务:email 或 * |
密钥长度、拆分与轮换
- 请使用 2048 位的 RSA 密钥。1024 位的密钥仍可通过验证,但已不再推荐,更短的则不安全。
- 2048 位的密钥比单个 DNS 字符串能容纳的 255 个字符更长,所以会作为同一条 TXT 记录中的多个带引号字符串发布。大多数 DNS 管理后台会自动替您处理。如果密钥被截断了,就无法读取。
- 请不时轮换密钥。先发布新的选择器,让邮件服务商改用它来签名,并把旧选择器保留到已在传输途中的邮件投递完毕。
- 要停用某个密钥,请发布 p= 为空的记录,让用它生成的签名干净地失败,而不是让记录凭空消失。