SPF 验证失败时如何排查?常见 permerror/softfail/neutral 与“too many DNS lookups”怎么解?

1 SPF 验证失败时如何排查?常见 permerror/softfail/neutral 与“too many DNS lookups”怎么解?
结果词

none(无记录)、neutral(故意无结论)、pass、fail、softfail(~ 修饰符软失败)、temperror(临时 DNS 错)、permerror(永久错,如语法错或超限)。

查询超限

SPF 限制嵌套 DNS 查询 ≤10 次(RFC 7208 §4.6.4);include 链过长会 permerror。用 ip4/ip6 直接声明、合并冗余 include、用 redirect= 替代多重 include、清理失效 include 来降次数。

常见坑

① 新增发信 IP/第三方未加入 SPF → fail/softfail,需补 ip4/include;② MX 与实发 IP 不一致;③ 子域未独立设 SPF(用 sp 标签或独立记录);④ 语法错误致 permerror。

工具

用 dig txt <域> 看记录、spf 校验工具核对查询次数与语法;修改后等 TTL 生效再复测。

参考:RFC 7208(SPF,§4.6.4 查询上限 / §8 结果处理)