免 KYC:只需验证一个电子邮件地址,无需 ID · 加密货币支付:BTC, USDT, USDC, ETH, SOL, LTC · .com US$12.49/年,每年价格相同
语言: 简体中文
查找您的邮箱地址

比较 · 2026 年 11 月 12 日核实

SPF、DKIM 与 DMARC 的区别是什么?

三条 DNS 记录,三项不同的职责。SPF 检查服务器,DKIM 检查邮件,DMARC 决定检查失败时怎么办。

最后更新:

快速回答

SPF、DKIM 和 DMARC 有什么区别?

SPF 列出允许为您的域名发信的服务器,DKIM 为每封邮件添加加密签名,DMARC 告诉收件方当两项检查都与 From 地址不一致时该怎么做。Postelva 在 .com 域名上以 DNS 记录的形式托管这三者,每年 US$12.49/年,并提供免费 DNS。

SPF、DKIM 和 DMARC 对照

要点SPFDKIMDMARC
检查什么投递邮件的服务器的 IP 地址由发信域名的私钥生成的签名SPF 或 DKIM 通过,并且与 From 地址中的域名一致
在 DNS 中的位置域名处以 v=spf1 开头的 TXT 记录selector._domainkey.domain 处的公钥(TXT,或指向服务商密钥的 CNAME)_dmarc.domain 处以 v=DMARC1 开头的 TXT 记录
由谁发布域名所有者,使用服务商的 include服务商生成密钥;所有者发布它们仅域名所有者
StandardRFC 7208(建议标准)RFC 6376(互联网标准,STD 76)RFC 9989(建议标准,2026 年 5 月,取代 RFC 7489)
记录数量每个域名一条,绝不是两条每个选择器一条:Proton Mail 和 Fastmail 为 3 条,Mailbox.org 为 4 条每个域名一条
主要限制最多 10 次 DNS 查询签名方的密钥至少 1024 位必须通过且标识符一致
给出报告否否是,发送到 rua 地址的汇总报告

最后核查于 ;较早的数据各自标注其日期

SPF 有什么作用?

SPF 回答一个问题:投递这封邮件的服务器是否被允许为该域名发信?域名所有者发布一条以 v=spf1 开头的 TXT 记录并列出允许的来源,例如 Proton Mail 的 include:_spf.protonmail.ch。收件方将连接方的 IP 地址与列表比较,并得到一个结果:通过、失败、软失败或中性,取决于末尾的限定符(-all、~all 或 ?all)。

SPF 检查的是信封发件人(MAIL FROM)和 HELO 名称,而不是读者看到的 From 地址。这个差距就是 DMARC 存在的原因。SPF 还有硬性限制:一个域名只能有一条 SPF 记录,并且评估在 10 个需要 DNS 查询的项(include、a、mx、ptr、exists、redirect)之后会因永久错误而停止。完整方法见 创建 SPF 记录 的指南。

DKIM 有什么作用?

DKIM 回答另一个问题:这封邮件是否由它所声称的域名签名,并且到达时没有被改动?发信服务器用私钥对选定的邮件头和正文签名。收件方从 DKIM-Signature 头中读取签名域名(d=)和选择器(s=),在 DNS 中的 selector._domainkey.domain 处获取公钥,并检查签名。

因为签名随邮件一起传递,DKIM 在不改动邮件的转发中依然有效,而 SPF 则不然,因为转发方从自己的 IP 地址发信。RFC 6376 规定,对于长期使用的密钥,签名方必须使用至少 1024 位的 RSA 密钥,并建议在密钥变更时使用新的选择器。服务商会替您发布密钥:Proton Mail 和 Fastmail 为三条 CNAME 记录,Mailbox.org 为四条。详情见 设置 DKIM 的指南。

DMARC 有什么作用?

DMARC 把 SPF 和 DKIM 与可见的 From 域名绑定,并告诉收件方当两项检查都不一致时该怎么做。当 SPF 或 DKIM 通过,并且其验证的域名与 From 域名一致时,邮件即通过 DMARC。对齐默认是宽松的(同一组织域名),用 aspf=s 或 adkim=s 设置时则为严格。

该记录位于 _dmarc.yourdomain,带有一个策略:p=none(仅监控)、p=quarantine(视为可疑)或 p=reject(拒收)。rua 地址接收汇总报告,显示谁在以您的名义发信。2026 年 5 月发布的 RFC 9989 是当前的规范;它废止了 RFC 7489,移除了 pct 标签,并增加了 t 测试标志。从监控到拒收的推进过程见 设置 DMARC 的指南。

这三者我都需要吗?

需要:发信的自定义域名应当发布 SPF、DKIM 和 DMARC,因为主要的收件方都要求它们。Google 的发件人指南要求,每天向 Gmail 账户发送超过 5,000 封邮件的发件人,必须有 SPF、DKIM 和 DMARC 记录(策略为 none 即可)。Microsoft 自 2025 年 5 月 5 日起,对每天超过 5,000 封的 Outlook.com 发件人提出同样的三项要求,Yahoo 也要求批量发件人配置 SPF、DKIM 和 DMARC。

个人邮箱发送的邮件少得多,所以这些阈值对您并不适用。不过这些记录仍决定您的邮件能否进入收件箱,并能阻止他人伪造您的地址。根据 Postelva 在 2026 年 11 月 12 日对服务商帮助页面的统计,完整的 Proton Mail 设置需要 8 条 DNS 记录,完整的 Mailbox.org 设置需要 11 条,其中分别有 3 条和 4 条是 DKIM 密钥。MX 记录见 什么是 MX 记录。

哪些错误会使这三条记录失效?

三个错误造成了大多数故障:第二条 SPF 记录、超过 10 次查询,以及过早把 DMARC 策略设得太严。有两条 SPF 记录的域名会返回永久错误,因此请把新服务商的 include 加入现有记录。把邮件主机、新闻邮件工具和客服系统叠加在一起,可能使查询次数超过 10,此时该记录对每个发件方都会失败。Mailbox.org 和 Proton 都建议从 p=none 开始设置 DMARC,Mailbox.org 还警告说,过早应用严格策略可能会退回合法邮件。

第四个错误是把上一个服务商的 DKIM 和 SPF 条目保留数月。它们不会影响投递,但会扩大被允许代表您发言的服务器列表。迁移确认之后请将它们删除。

这三者如何在同一封邮件上协同工作?

收件方先运行 SPF 和 DKIM,然后由 DMARC 综合结果。以一封通过 Proton Mail 从 [email protected] 发出的邮件为例。如果连接的服务器在 _spf.protonmail.ch 的列表中,SPF 就通过。如果用 yourname.com 下的密钥生成的签名验证成功,DKIM 就通过。然后 DMARC 询问两者中是否至少有一个以 yourname.com 作为一致的标识符通过。如果是,邮件通过;如果不是,收件方就应用您的策略,并把结果记入下一份汇总报告。

RFC 9989 指出,处于 p=reject 的域名不得仅依赖 SPF,而应使用 DKIM 签名,因为 SPF 在转发时会失效。ARC(RFC 8617)是一项实验性标准,允许转发方记录原始结果,不过它不属于您自己的配置。发布记录之后,在收紧任何策略之前,请先 用 dig 检查。

可供引用的定义:SPF 授权服务器,DKIM 认证邮件,DMARC 强制要求与 From 域名一致并报告结果。

SPF、DKIM 和 DMARC 常见问题

我应该先设置哪条记录?

先设置 SPF 和 DKIM,因为它们来自您的邮箱服务商,然后发布 p=none 并带报告地址的 DMARC。如果另外两者中至少有一个不通过,DMARC 就无法通过。

DMARC 可以只靠 SPF 或只靠 DKIM 通过吗?

可以。一次一致的通过就足够。对于 p=reject 策略,RFC 9989 指出不要仅依赖 SPF,而应加上 DKIM 签名。

个人域名需要 DMARC 吗?

Google 和 Microsoft 的发件人规则适用于每天超过 5,000 封邮件的情况。p=none 的 DMARC 记录仍只需一条 TXT 记录,并能显示谁在以您的名义发信。

为什么转发邮件时 SPF 会失败?

转发方从它自己的 IP 地址发信,而该地址不在您的 SPF 列表中。如果转发方不改动邮件,DKIM 仍然可以验证通过。

SPF、DKIM 和 DMARC 会加密我的邮件吗?

不会。它们验证发件人,不隐藏内容。服务器之间的传输加密是另一层,由 MTA-STS 负责。

总结
  • SPF 列出允许为您的域名发信的服务器:一条 TXT 记录,最多 10 次查询。
  • DKIM 为每封邮件签名;公钥位于 selector._domainkey。
  • DMARC 要求 SPF 或 DKIM 一致通过,并设定 p=none、quarantine 或 reject。
  • DMARC 由 RFC 9989(2026 年 5 月)定义,它废止了 RFC 7489。
  • Google、Yahoo 和 Microsoft 要求每天发送超过 5,000 封邮件的批量发件人三者齐备。
  • 完整的 Proton Mail 设置是 8 条 DNS 记录,Mailbox.org 设置是 11 条。
  • Postelva 在免费 DNS 中托管这些记录;.com 每年 US$12.49/年。
来源 (8)
  1. RFC 7208,Sender Policy Framework — RFC Editor (查询日期 2026-11-12)
  2. RFC 6376,DomainKeys Identified Mail Signatures — RFC Editor (查询日期 2026-11-12)
  3. RFC 9989,DMARC — RFC Editor (查询日期 2026-11-12)
  4. RFC 8617,Authenticated Received Chain — RFC Editor (查询日期 2026-11-12)
  5. 电子邮件发件人指南 — Google Workspace Admin Help (查询日期 2026-11-12)
  6. 加强电子邮件安全:针对大批量发件人的新要求 — Microsoft Tech Community (查询日期 2026-11-12)
  7. 发件人最佳实践 — Yahoo Sender Hub (查询日期 2026-11-12)
  8. 自定义域名的 SPF、DKIM 和 DMARC — Mailbox.org (查询日期 2026-11-12)

.com US$12.49/年 · 无需 KYC · 加密货币

查找您的邮箱地址