检查您的 DKIM 记录

免费验证您的 DKIM(域名密钥识别邮件)DNS 记录。通过加密方式验证您的电子邮件。

输入域名和选择器 (Selector)

您今天还有 5 次免费检查机会。

什么是 DKIM?

DKIM (DomainKeys Identified Mail) 是在 RFC 6376 中定义的电子邮件认证方法。它使用非对称加密技术 — 私钥在您的邮件服务器上为外发邮件签名,发布在 DNS 中的公钥允许任何接收服务器验证该签名。如果邮件在签名后被篡改,签名将失效。

与 SPF 不同,DKIM 验证的是邮件内容本身(邮件头和/或正文),而不只是发送 IP。这使其在发送者 IP 发生变化的邮件转发场景中具有弹性。

为什么需要 DKIM?

1邮件完整性

证明邮件正文和邮件头自离开您的服务器后未被修改

2支持转发

签名嵌入在电子邮件中,不与发送 IP 绑定 — 在经过中继转发时依然有效

3DMARC 必需项

DMARC 可以使用 DKIM 对齐作为通过/失败决策的基础

4提升送达率

Gmail、Outlook 等在过滤决策中会给予带有 DKIM 签名的邮件很高的信任

DKIM 工作原理 — 步骤详解

1

您生成一对公钥/私钥,并配置您的邮件服务器使用私钥。

2

您在 `selector._domainkey.yourdomain.com` 以 DNS TXT 记录的形式发布公钥。

3

当您发送电子邮件时,邮件服务器会对选定的邮件头和正文进行哈希处理,然后用私钥对该哈希值进行签名。

4

签名作为 `DKIM-Signature` 头部添加到电子邮件中。

5

接收服务器读取 `DKIM-Signature`,从 DNS 获取公钥,解密签名,并重新对邮件进行哈希以进行比较。

6

匹配意味着邮件是真实且未被篡改的。不匹配则表示被篡改或配置错误。

DKIM DNS 记录 (公钥)

位于 selector._domainkey.yourdomain.com 的 DNS TXT 记录
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADC...AQAB

关键字段

v=DKIM1— 版本标识符
k=rsa— 密钥类型 (rsa 或 ed25519)
p=— Base64 编码的公钥
h=— 可接受的哈希算法 (sha256)
s=— 服务类型 (email 或 *)
t=s— 严格模式标志

DKIM-Signature 头部 (邮件中)

由您的发送服务器添加的邮件头
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
            d=yourdomain.com; s=mail2024;
            h=from:to:subject:date:message-id;
            bh=47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=;
            b=mY93xZ...

签名字段含义

d= (签名域名)
持有公钥的域名。必须与 From 域名对齐以符合 DMARC 要求
s= (选择器)
指向使用哪个 DNS 记录的指针 — 允许您轮换密钥 (例如 s=jan2025, s=feb2025)
h= (已签名头部)
哈希中包含哪些邮件头 — 至少应包括:From, To, Subject, Date
bh= (正文哈希)
规范化后的邮件正文哈希,确保正文完整性
b= (签名)
对 h= 中列出的邮件头的实际加密签名
c= (规范化)
邮件头/正文在哈希前的标准化方式:simple 或 relaxed

常见 DKIM 问题

正文被修改

某些邮件列表或病毒扫描程序会修改正文,导致 bh= 正文哈希失效

缺少 DNS 记录

在发送邮件前,验证您的 TXT 记录已发布并完成传播

选择器错误

签名中的 s= 必须与 DNS 记录名称中的选择器匹配

密钥长度太短

至少使用 2048 位 RSA 密钥。1024 位密钥被认为是不安全的,会被某些服务商拒绝

常见问题

常见问题解答

DKIM 为邮件添加数字签名。接收服务器利用该签名验证邮件是否由域名所有者授权,并确认内容在传输过程中未被篡改。

它是用于在 DNS 中定位公钥的唯一字符串。通常在您的邮件服务提供商 (ESP) 设置中或已发送邮件头的 's=' 标签中可以找到。

通常是选择器名称错误、DNS 未完成传播或 TXT 记录添加到了错误的域名层级。

可以。如果您使用多个邮件服务,建议为每个服务设置唯一的选择器。这是维持多平台安全的最佳实践。

有效的 DKIM 签名能建立发件人信誉,使 ISP 更信任您的邮件,从而减少被拦截的几率。

私钥保存在邮件服务器用于签名,公钥发布在 DNS 中。接收方使用公钥解密并验证签名。这种非对称加密是安全的基础。