KNOWLEDGE ARTICLE
DKIM 是什么?
域名密钥识别邮件
使用数字签名验证邮件内容和发件域名。
核心解释
发件服务器为邮件添加签名,收件服务器通过 DNS 中的公钥进行验证,从而判断邮件是否被修改。
DKIM 如何把邮件与签名域联系起来
DKIM(DomainKeys Identified Mail)由发件系统使用私钥为选定邮件头和正文摘要签名,并把签名放入 DKIM-Signature 头。收件方读取其中的签名域 d= 与选择器 s=,再查询 s._domainkey.d 对应的 DNS 公钥进行验证。
验证成功说明签名覆盖的内容自签发后没有发生不被允许的变化,并且签名者控制相应域名的私钥。它不代表邮件内容真实、发送者一定可信,也不要求签名域天然等于用户看到的 From;后者由 DMARC 对齐规则继续判断。
选择器、规范化与密钥轮换如何配合
- 选择器允许同一域名同时发布多把公钥,不同邮件平台可以各用一个选择器,避免共享私钥。
- simple 与 relaxed 规范化定义邮件在传输中允许发生哪些空白和格式变化;过于严格可能让正常中转修改导致签名失败。
- 签名头会列出被保护的字段和正文长度等参数,转发列表修改主题、页脚或正文时可能破坏验证。
- 轮换密钥时通常先发布新公钥、切换发信签名,再保留旧公钥覆盖在途与延迟邮件,最后才撤下旧选择器。
多发信平台下的管理重点
官网通知、客服、营销和人力系统可能分别由不同服务商签名。每个平台都应使用明确的选择器和与品牌域对齐的签名域,并建立私钥保管、轮换和停用流程。共享默认选择器会让问题定位和撤销影响面变大。
DKIM 失败需要区分公钥不存在、DNS 临时错误、签名算法或格式问题、邮件被中途修改以及密钥已经轮换。只看到 DNS 公钥并不能证明当前邮件一定使用它,实际消息头才是验证依据。
实际应用与信息解读
已知选择器下存在有效 DKIM 公钥时,可以确认该选择器已经配置;若同时有真实邮件样本并验证通过,才能进一步确认当前发信链路正在正确签名。公开 DNS 通常无法枚举所有选择器,因此没有查到某个猜测名称不等于域名未使用 DKIM。
在网站资料中,DKIM 更适合展示为已确认的邮件认证能力或未知状态。涉及防冒用效果时还要结合 DMARC 对齐、SPF、密钥长度、算法以及实际邮件验证结果作条件性判断。
重点关注
有效的 DKIM 有助于提高邮件可信度,并为 DMARC 策略提供判定依据。
常见问题
为什么 DKIM 公钥查不到?
选择器不是固定值,必须从真实邮件的 DKIM-Signature 头获得。猜测 default、google 等常见名称只能说明对应名称没有结果。
DKIM 签名通过能证明邮件内容可信吗?
它证明签名覆盖的内容未被非预期修改,并确认签名域控制相应私钥;邮件主张本身是否真实仍需其他判断。
DKIM 密钥应该多久轮换一次?
协议没有规定统一周期。应根据密钥管理政策、服务商能力、风险和事件响应要求定期轮换,并确保新旧选择器有安全重叠。