Authentication · RFC 6376 · 更新于 May 2026

DKIM

DomainKeys Identified Mail

DKIM(DomainKeys Identified Mail)是基于密码学的邮件认证标准(RFC 6376):发件方用私钥为每一封出站邮件签名,收件方用 DNS 中发布的公钥验证签名。

§1

定义

DKIM(DomainKeys Identified Mail)是定义在 RFC 6376 中的邮件认证标准。发件邮件系统用一把密码学私钥为每一封出站邮件签名;名为 DKIM-Signature 的邮件头携带签名、算法以及指向公钥的指针。收件服务器从 DNS 取回公钥,验证签名是否与邮件正文及所列邮件头相符 — 这同时证明两件事:消息来自持有该私钥的服务器,被签部分在传输过程中没有被改动。

§2

Selector 与密钥轮换

公钥以 TXT 记录的形式发布在 {selector}._domainkey.{domain}。Selector 是任意标识符 — 常见的写法是 s1s2mail,或是 vendor 专属的命名如 amazonses。Selector 使密钥轮换成为可能:在新 selector 下发布新密钥,把 signer 切到新 selector,把旧密钥留在 DNS 中直到途中已签名的邮件全部落地,再删除旧的 TXT 记录。轮换是基础卫生实践 — 大多数 ESP 至少每年轮换一次,出现任何疑似泄露立即轮换。

§3

AcelleMail 如何使用 DKIM

对于通过 vendor 发送的场景(Amazon SES、Mailgun、SendGrid、SparkPost — 全部内置驱动位于 app/SendingServers/Drivers/Vendors/),DKIM 由 vendor 签署。运营方需要做的是把 vendor 给出的 CNAME 或 TXT 记录发布到自己的发件域名上。对于通用 SMTP 驱动,DKIM 签名由上游 MTA 完成(Postfix 的 opendkim milter、Postal 内置 signer 等)— AcelleMail 自身不签 DKIM。

完整的搭建走查 — 主要 vendor 的记录长什么样、如何验证签名 — 在 送达率 pillar 指南

§4

DKIM 与 SPF

SPF 认证的是 IP 地址;DKIM 认证的是消息本身。一封被转发的邮件会让 SPF 失败(因为现在来自转发方的 IP),但通常仍能通过 DKIM(签名覆盖的是正文,不是路径)。DMARC 再把其中一项或两项信号与可见的 From: 头对齐。三层互相组合 — 现代送达率前提就是您把三者都发布到位。

来源

本页每一项主张都追溯到下列之一。

想在生产环境运行这个?

AcelleMail 是一次性授权的自托管邮件平台,对本术语表中的每一项术语都提供一等公民支持。无任何订阅费、不按订阅者计费、完整源代码。

试用在线演示