Defaults.Exposed

Defaults.Exposed › 报告

一个域名可以有两条 SPF 记录吗?不行——上百万个域名刚刚把自己的 SPF 作废了(2026)

发布于 2026-07-03

数据截至 2026-06-29 · 方法论 v7。 对 261 百万个已评级域名进行的汇总普查。所有数据均为汇总数据——绝不针对某个具体企业的记录。参见 我们如何评级

不行——一个域名只能发布恰好一条 SPF 记录,而弄错这一点会把 SPF 彻底关闭:目前有 1,013,416 个域名发布了两条或更多,而根据 RFC 7208,这会使该域名的所有 SPF 记录全部失效。 不是最新的那条,也不是最旧的那条——是每一条。接收方一旦发现多条 v=spf1 记录,就必须返回永久性错误,这意味着完全没有 SPF 保护,而在其所有者看来,这个域名却好像拥有了双倍的保护。

为什么两条 SPF 记录等于零?

标准说得很直白:一个域名的 SPF 策略必须是单独一条以 v=spf1 开头的 TXT 记录(RFC 7208 §3.2;错误结果在 §4.5 中有明确规定)。如果查询发现多于一条,接收方无法知道哪一条是权威的——所以标准禁止猜测。符合标准的接收方必须返回 PermError:评估永久性失败。

而 PermError 并不是中立的。DMARC 会把它当作 SPF 这一环的失败——所以一个重复了自己记录的域名,既作废了自身的保护, 损害了自己合法邮件的身份验证。这是极少数几种”增加保护反而移除保护”的 DNS 错误之一(发布两条 DMARC 记录对 DMARC 也会造成同样的后果)。

大约 每 138 个尝试使用 SPF 的域名中就有 1 个 对自己犯下了这个错误。

这是怎么发生的?入驻时的复制粘贴

几乎没有人会故意写下第二条 SPF 记录。它往往发生在你添加某个邮件工具的那一天:

  1. 你的域名已经有了来自邮箱服务商的 v=spf1 include:spf.protection.outlook.com -all
  2. 你注册了某个邮件通讯平台、CRM 或开票工具。
  3. 它的设置指南写着:“把这条 TXT 记录添加到你的 DNS:v=spf1 include:newtool.example.com ~all。”
  4. 你完全照做了——你把它 添加 上去,就放在旧的那条旁边。

现在存在两条记录,而两条都失效了。指南说的是”添加”,而添加恰恰是标准所不允许的那一件事;正确的做法——把新的 include: 合并进现有的那条记录——几乎没有任何入驻流程会提到。

从 DNS 面板上看,这个故障是不可见的:两条记录单独看都格式良好,而且邮件大多仍然能送达,因为接收方会退回到其他信号来判断。在有人伪造成功、或送达率下滑之前,没有任何东西会向你发出警报。

如何检查并修复它——两分钟,免费

  1. 查询你域名的 TXT 记录(dig TXT yourdomain.com,或使用 我们的免费检测)。
  2. 数一数以 v=spf1 开头的记录有几条。唯一安全的数字是 1。
  3. 如果你有多于一条:把它们 合并——把每一个 include:ip4:/ip6: 机制都并入单独一条记录,并带上一个终止限定符(参见 ~all vs -all)——然后删除其余的。
Before:  v=spf1 include:spf.protection.outlook.com -all
         v=spf1 include:servers.mcsv.net ~all

After:   v=spf1 include:spf.protection.outlook.com include:servers.mcsv.net -all

在合并的过程中,请留意 10 次查询上限——过多的 include: 机制会以另一种方式破坏 SPF。

常见问题

允许有多条 SPF 记录吗? 不允许。RFC 7208 每个域名只允许恰好一条 v=spf1 记录;两条或更多会导致一个永久性错误,使 SPF 彻底失效。截至 2026-06-29,有 1,013,416 个域名处于这种状态。

第二条 SPF 记录会覆盖第一条吗? 两条都不会胜出。接收方发现多条记录时,必须让评估失败,而不是从中挑选一条——所以它们会同时全部停止工作。

我该如何把两条 SPF 记录合并成一条? 一条记录,以 v=spf1 开头,包含所有记录中的每一个 include: 和 IP 机制,并以单独一个 -all~all 结尾。删除多余的那些,然后 核实你的查询次数 在合并后仍在限制之内。

为什么我有两条 SPF 记录邮件还能正常工作? 碰到这个错误的接收方通常会在没有 SPF 的情况下继续处理,所以你的邮件靠的是信誉和 DKIM。你失去的是保护——没有任何东西会拒绝伪造者——而且你的 DMARC 评估也失去了它的 SPF 环节。邮件能正常工作和 SPF 能正常工作,是两回事。

检查一下你的域名是不是那上百万个之一

一次 30 秒的查看,要么让你脱离嫌疑,要么给你一个两分钟的合并任务。

检查你的域名 → · 修复 SPF → · SPF PermError 报告 → · SPF 成熟度模型 → · 仅汇总数据。数据在欧盟境内存储和处理。