SPF 记录语法:RFC 7208 完整参考指南
SPF Record Syntax: Mechanisms, Qualifiers, Modifiers, and Macros
SPF 记录看似简单,实则暗藏玄机。本文基于 RFC 7208 标准,深度解析 SPF 记录的完整语法结构,涵盖机制、限定符、修饰符及宏的每一个细节。从基础的 ip4、include 到鲜为人知的 exists 和 ptr 机制,再到 redirect 与 exp 修饰符的微妙差异,文章逐一拆解。特别指出一个字符的拼写错误就可能导致整个域名邮件认证失败,并揭示了为何 1.4% 的域名仍在使用已被弃用的 ptr 机制。无论是构建新记录还是排查现有问题,这份指南都能帮你避开 DNS 查询限制陷阱,确保邮件安全送达。
记录中任何位置的单个语法错误都会使整条记录失效,因为接收方的验证程序会先检查语法,一旦发现格式错误就立即返回 PermError,而不会评估任何规则项。
HN 评论区
12- jedberg
很抱歉这个页面居然需要存在,这也有我的一份责任。是我创建了第一个“大规模”的 SPF 记录(用于 eBay 和 PayPal),并且当时我也认同这是最佳方案。我想后来者也认同了这一点,因为 20 年过去了,它的形态和我当初制定时几乎一模一样!
不过我毫无悔意,这个格式相当直观且提供了很大的灵活性。最大的问题在于解析库能否正确处理所有的 "include" 语句。
- YesThatTom2
SPF 扁平化(flattening)很难做对,而且你还得时不时去检查更新。
DNSControl 可以自动化处理这件事。https://docs.dnscontrol.org/language-reference/domain-modifi...
(它是开源的)
- dan_sbl
> SPF 记录语法遵循一种形态:
前六个词让我觉得这完全不像“人写的”。