怎么用
- (可选)填入域名并导入现有 SPF,避免覆盖掉已经在用的服务。
- 勾选所有用你的域名发信的服务,再填上自己服务器的 IP。
- 选择 ~all 或 -all,点「统计查询次数」确认不超过 10 次。
- 在 DNS 中把唯一一条 TXT 记录(主机 @)替换为生成的值,再用检测工具确认。
SPF 记录的作用
SPF(Sender Policy Framework)是发布在域名 TXT 记录里的一份「授权发信服务器名单」。收件方收到邮件后,会检查连接过来的服务器 IP 是否在这份名单里,再结合 DKIM 和 DMARC 决定放进收件箱、垃圾箱还是直接拒收。
从 2024 年起,Gmail 和 Yahoo 要求所有发件域名至少配置 SPF 或 DKIM,批量发件人(每天超过 5000 封)三者都要配置,否则邮件会被限流或拒收。
10 次 DNS 查询限制
RFC 7208 规定,评估一条 SPF 时 include、a、mx、exists、redirect 和 ptr 合计最多触发 10 次 DNS 查询,嵌套 include 里的也算。ip4、ip6 和 all 不计数。超过上限时结果是 permerror,很多收件方会按 SPF 失败处理。
常见的精简办法:删掉已经停用的服务;去掉多余的 a、mx;把固定的服务器写成 ip4/ip6;把营销邮件放到 news.example.com 这样的子域名上,各自维护一条 SPF。
~all 还是 -all?
有 DMARC 时,最终是否拦截由 DMARC 策略决定,~all 和 -all 的实际差别很小,~all 更不容易误伤转发邮件,是大多数服务商的推荐值。确认所有发信源都已列入、并且已有 DMARC 报告验证后,再考虑 -all。
常见问题
一个域名可以有两条 SPF 记录吗?
不可以。两条以 v=spf1 开头的 TXT 记录会让 SPF 直接 permerror。新增服务时,要把它的 include 合并进现有记录,而不是新建一条。
主机记录应该填什么?
根域名填「@」(部分面板留空),子域名填子域名前缀,例如 news。记录类型选 TXT,不要选已经废弃的 SPF 类型。
配置了 SPF 还会进垃圾箱,为什么?
SPF 只验证发信服务器,DMARC 还要求 SPF 或 DKIM 的域名与「发件人」地址对齐。请同时配置 DKIM 和 DMARC,并检查发信 IP 是否在黑名单、内容和发送频率是否正常。
不发邮件的域名也需要 SPF 吗?
建议设置 v=spf1 -all,再加一条 p=reject 的 DMARC,防止别人冒用这个域名发钓鱼邮件。