跳至主要内容
短.be

SPF / DKIM

验证邮件发送方身份的技术。是防止伪造邮件和钓鱼攻击不可或缺的基于 DNS 的机制。

2026年8月24日 · 约 1 分钟阅读

安全

SPF (Sender Policy Framework) 和 DKIM (DomainKeys Identified Mail) 是用于验证邮件发送域名合法性的认证技术。两者都通过 DNS 记录进行配置,有助于防止邮件伪造 (Spoofing)。

SPF 的机制是在 DNS 的 TXT 记录中声明「只有这些 IP 地址服务器才能以本域名发送邮件」。接收服务器会检查邮件的发送方 IP 地址是否包含在 SPF 记录中,但结果并非合格与不合格两种,RFC 7208 定义了 pass、fail、softfail、neutral、none、temperror、permerror 共 7 种结果。fail 表示域名持有者明确声明该主机无权使用本域名,至于是否拒收这封邮件则交由接收方的策略决定。反过来 pass 也只说明该主机有权使用本域名,并不能证明邮件内容是安全的。

DKIM 的机制是为邮件添加电子签名。发送服务器分别对正文和选定签名的邮件头字段计算哈希值,并用私钥签名。公钥以「选择器._domainkey.域名」形式的 TXT 记录发布在 DNS 中,接收服务器取回后验证签名。验证通过所能说明的是签名覆盖的范围在签名之后没有被改动,以及签名域名对这封邮件承担了一定责任。RFC 6376 明确指出,除此之外它不对邮件作任何断言。

在包含短链接的邮件营销中,SPF 和 DKIM 的配置尤为重要。短链接会隐藏目标域名,收件人无法只凭链接文字判断邮件是否可信,把发送域名的认证配置妥当,是发送方为此作出的弥补。同时也要说清界限:SPF 和 DKIM 验证的是发送域名,而不是正文里短链接的目标地址。通过认证的邮件同样可能带有危险链接,收件人仍然需要养成事先确认链接去向的习惯。关于送达率,Google 说明自 2024 年 2 月 1 日起,向 Gmail 账号发信的所有发送者都必须配置 SPF 或 DKIM 之一,不满足要求的邮件可能无法按预期送达,或者被判定为垃圾邮件。

在 SPF 和 DKIM 的基础上,还可以配置 DMARC (Domain-based Message Authentication, Reporting and Conformance),向接收方提出认证失败邮件的处理请求。策略取值有 none (不要求特别处理)、quarantine (视为可疑) 和 reject (拒收) 三种,三者都属于请求,RFC 7489 指出最终处置始终取决于接收方的本地策略。DMARC 最容易卡住的一步是标识符对齐 (alignment)。即使 SPF 或 DKIM 通过,只要通过认证的域名与收件人看到的 From 头域名不一致,DMARC 依然不会通过。用发送服务的默认域名发信时,就会出现 SPF 和 DKIM 都成功而只有 DMARC 失败的状况。对于每天向个人 Gmail 账号发送超过 5,000 封邮件的发送者,Google 要求同时配置 SPF 和 DKIM,并配置 DMARC 记录 (策略可以设为 none)。

分享到 XHatena

这篇文章对您有帮助吗?

相关术语

相关文章

常见问题

SPF 和 DKIM 都需要配置吗?
两者都配置是务实的做法,因为它们不只功能不同,失效的方式也不同。SPF 在邮件被转发时,发送方 IP 会变成转发服务器的地址,因此在多数转发和邮件列表场景下会失败。DKIM 的签名只要内容未被改动就能一直保留到收件端,转发路径上靠的是 DKIM;反过来,如果中继改写了正文或已签名的邮件头,签名就会失效。两者各自都有对方能补上的缺口,这就是同时配置的理由,再用 DMARC 把两者的结果与 From 头关联起来。
不配置 SPF/DKIM 会怎样?
以 Gmail 为例,自 2024 年 2 月 1 日起,向 Gmail 账号发信的所有发送者都需要配置 SPF 或 DKIM,而每天向个人 Gmail 账号发送超过 5,000 封邮件的发送者需要同时配置 SPF、DKIM 和 DMARC。对于不满足要求的邮件,Google 说明可能无法按预期送达、可能被判定为垃圾邮件,也可能以 5.7.26 错误被拒收。其他接收方如何处理,则取决于各自的策略。
SPF/DKIM 配置难吗?
需要添加 DNS 记录,但如果使用邮件发送服务 (SendGrid、Amazon SES 等),服务的管理后台通常会提供配置指南。写入记录本身通常很快,之后还需要等待 DNS 生效。容易卡住的地方是 SPF 评估过程中的 DNS 查询次数:RFC 7208 要求实现将 include、a、mx 等项的总数限制在 10 次以内,超过这一上限评估就会以 permerror 结束。每增加一个发送服务或统计工具往往就会多加一条 include,因此在追加之前先整理现有的 SPF 记录。

把知识用到真实链接上

免费缩短网址