跳到主要内容
ecdsa.com

SPF(发件人策略框架)

RFC 7208 定义、发布在 DNS 中的策略,列出哪些主机可以在 SMTP 信封(MAIL FROM 或 HELO)中使用某个域名发送邮件;接收方会对照发起连接的 IP 地址检查。
其他写法Sender Policy FrameworkSPF recordv=spf1RFC 7208

SPF 记录是一条 TXT 记录,例如 v=spf1 ip4:192.0.2.0/24 include:_spf.example.net mx -all。机制(ip4、ip6、a、mx、include、exists、ptr、all)从左到右依次评估,限定符为 +(pass,默认)、-(fail)、~(softfail)和 ?(neutral);redirect= 把评估交给另一个域名。结果有 pass、fail、softfail、neutral、none、temperror 和 permerror。

SPF 检查的是信封发件人(RFC5321.MailFrom,即退信地址),而不是用户看到的 From 头,因此单靠 SPF 无法阻止对可见发件人的伪造;DMARC 要求信封域名与 From 对齐。转发会破坏 SPF,因为转发方的 IP 不在原始域名的记录中,除非转发方改写信封(SRS)。

评估最多只能触发 10 个会查询 DNS 的项(RFC 7208 §4.6.4),而 SaaS 发送方庞大的 include 链常常超出这一限制,导致 permerror。一个域名应当发布且只发布一条 SPF 记录;存在两条记录同样会导致 permerror。

标准与参考资料

全部术语