邮件认证

DKIM、SPF 和 DMARC 是如何工作的

DKIM、SPF 和 DMARC 是每个发信域名都需要的三条 DNS 记录。它们共同证明邮件来自您本人、阻止伪造者冒用您的域名发信,并告知接收服务器在验证失败时该如何处理。本指南用简单的语言逐一解释这三条记录,并按照推荐的配置顺序说明。

当一封邮件到达 Gmail 或 Outlook 时,接收服务器会在决定是否投递之前运行三项检查。三项全部通过,才能让域名稳定落入收件箱,而不是进入垃圾邮件——甚至被直接拒绝。

SPF——谁被允许以您的域名发信

SPF 记录是域名上的一条 DNS TXT 记录,列出了被允许以您的名义发信的 IP 地址和邮件服务。接收服务器收到声称来自您的邮件时,会查询您的 SPF 记录并检查发信服务器是否在列表中。如果不在,邮件就会 SPF 失败。每个域名只能有一条 SPF 记录;多条记录是无效的。Rovela 的设置页面会显示需要添加的确切值。

DKIM——每封邮件上的密码学签名

DKIM 使用发信服务持有的私钥对每封发出的邮件进行签名,您则将对应的公钥以 TXT 记录的形式发布到 DNS。接收服务器获取公钥并验证签名。签名有效意味着邮件正文和邮件头自签名后未被篡改,且密钥持有者授权了此次发送。在域名设置中添加 Rovela 显示的 TXT 记录后,每封发出的邮件都会自动完成签名。

DMARC——验证失败时的处理策略

DMARC 是一条策略记录。它告诉接收服务器如何处理 SPF 或 DKIM 验证失败的邮件:不做任何处理(p=none,用于监控)、将其隔离到垃圾邮件,或直接拒绝。它还会指定一个地址接收失败报告,让您了解谁在尝试伪造您的域名。建议从 p=none 开始收集数据,确认所有合规发信来源都通过对齐检查后,再逐步升级到 p=quarantine 和 p=reject。

对齐——为什么三者需要指向同一个域名

DMARC 要求对齐:From 头中的域名必须与通过 SPF 的域名或 DKIM 签名中的域名相匹配。一封邮件可能在信封发件人上通过了 SPF,但如果信封域名与 From 域名不同,DMARC 仍然会失败。Rovela 使用您的域名而非自己的域名发信,因此 DKIM 和 SPF 都能与收件人看到的地址对齐。

有效的配置顺序

先添加 SPF,再添加 DKIM,然后以 p=none 启用 DMARC。通过 DMARC 发送给您的报告,确认合规邮件都通过了两项检查。一旦所有发信来源都对齐,将策略升级到 p=quarantine 保持一周,再升级到 p=reject。不经过监控直接跳到 p=reject,往往会导致代发邮件中断,排查起来非常麻烦。

常见问题

三条记录都需要配置吗,还是一条就够?
三条都需要。SPF 和 DKIM 对发送行为进行认证;DMARC 告诉接收方在认证失败时如何处理,并让您了解谁在使用您的域名发信。仅有 SPF 的域名仍然容易遭受 DMARC 失败的欺骗攻击。
DKIM 密钥可以在不中断发信的情况下轮换吗?
可以。在控制台发起轮换后,Rovela 会用新的 selector 生成新密钥,并显示第二条 TXT 记录,与现有记录一同发布即可。只有在你验证域名、Rovela 确认新记录已生效后,新密钥才开始签名,因此不会出现用接收方查不到的密钥签名的情况。切换前已签名的邮件仍可用旧记录验证。
我可以为多个发信服务配置 SPF 吗?
可以,但每个域名只能有一条 SPF 记录。您需要使用 include: 机制将所有允许的发信方合并到一条 TXT 记录中。添加第二条独立的 SPF 记录是协议错误,会导致不可预期的失败。
如何知道我的记录是否配置正确?
Rovela 仪表板会验证您的 DKIM 和 SPF 记录,解析正确后显示绿色勾选。您也可以向 Gmail 地址发送测试邮件,查看原始邮件源码——其中会显示每项检查的认证结果。

准备好发送第一封邮件了吗?

Rovela 提供简洁的 HTTP API、专属域名业务邮箱、幂等键和投递 Webhook——免费套餐,无需绑卡。