FAQ问答 > SPF 记录中的 ~all(软失败)和 -all(硬失败)有什么区别?

SPF 记录中的 ~all(软失败)和 -all(硬失败)有什么区别?

SPF 记录的 ~all(softfail)和 -all(fail)是 RFC 7208 §4.7 定义的两种结束机制,决定未经授权 IP 发送邮件的处理方式:

SPF 限定符含义收件方行为适用场景
~allSoftfail(软失败)接收邮件,标记为疑似垃圾测试/过渡期,尚不确定发信 IP 完整性
-allFail(硬失败)RFC 5321 §3.7 允许拒收发信 IP 清单已确认完整,可安全拒收

关键区别

  1. DMARC 对齐影响-all 促使收件方严格对齐 SPF;~all 的 softfail 按 fail 处理(RFC 7489 §6.3 规定),但对下游反垃圾评分影响不同。
  2. 邮件送达率:Gmail 等大型邮箱对 ~all 降低评分但不拒收(提升误报容忍度);-all 配合 DMARC p=reject 可直接拒收未经授权的邮件。
  3. 迁移建议:先部署 ~all(监控 RUA 报表至少 7 天),确认所有合法发信 IP 已覆盖后,再改为 -all

正确示例v=spf1 mx include:_spf.example.com -all

参考文献

  1. RFC 7208 §4.7