什么是 SPF 记录检查器
“SPF 记录检查器”是一个用于分析 SPF TXT 记录的本地工具。通过该工具,域名管理员、邮件配置人员以及任何需要拆解 SPF 记录条目的人员,可以快速分析 SPF 记录的组成部分,估算其触发的 DNS 查询次数,并识别潜在的语法错误或策略风险。
该工具通过处理您输入的文本,提供 SPF 记录的详细摘要并高亮显示发现的问题。它在浏览器本地运行,不会将您的 SPF 记录上传或保存到服务器,也不会进行实际的 DNS 查询、展开服务商记录、测试发件人 IP 或确认接收邮件服务器的返回结果。
SPF 记录的输入要求与解析规则
在使用“SPF 记录检查器”时,您需要提供一个 SPF TXT 值。输入需要遵循以下规则与限制:
- 开头要求:SPF 记录必须以
v=spf1开头,且v=spf1必须是第一个条目。记录中不能包含多个v=spf1条目。 - 长度限制:输入的文本最大长度为 20,000 个字符。如果输入的记录异常大,工具会提示错误信息:“该记录异常大。请将其控制在 20,000 个字符以内。”。
- 分段合并:工具支持带引号的 DNS TXT 分段,并在分析前自动将这些分段合并。
- 输入验证:如果未输入任何内容,工具会提示“请先粘贴 SPF 记录。”;如果输入了不支持的格式,则会提示“请输入受支持的 SPF 记录。”。
10 次 DNS 查询限制与评估风险
在 SPF 评估过程中,DNS 查询次数是一个至关重要的指标。
- 查询限制:SPF 记录在完整评估期间,最多允许的 DNS 查询次数为 10 次。
- 触发查询的条目:DNS 查询次数估算会统计所粘贴记录中的
include、a、mx、ptr、exists和redirect条目。 - 超限后果:如果记录包含超过 10 个触发 DNS 查询的条目,工具会标记提示:“此记录已包含
‹detail›个触发 DNS 查询的条目,超过 SPF 的 10 次限制。”。对于 SPF 接收方而言,如果评估时超过了 10 次 DNS 查询限制,必须将其视为永久错误(permanent error)。 - 嵌套查询风险:由于本工具仅进行本地语法检查和首条记录的查询次数估算,它不会查询 DNS,也不会展开
include和redirect目标。因此,include或redirect目标在实际解析时可能会增加更多的 DNS 查询次数,导致最终的递归查询总数超过首条记录的估算值。
语法错误与格式问题分析
工具会对输入的 SPF 记录进行本地语法检查,并针对以下常见错误和不规范格式进行标记:
- 未知机制:如果包含无法识别的机制,会提示“条目
‹term›:“‹detail›”不是可识别的 SPF 机制。”。 - 值缺失或畸形:如果机制的值缺失或格式不正确,会提示“条目
‹term›:‹detail›值缺失或格式不正确。”。 - IP 地址无效:无效的 IPv4 或 IPv6 地址及 CIDR 范围会分别触发“条目
‹term›:请输入有效的 IPv4 地址或 CIDR 范围。”或“条目‹term›:请输入有效的 IPv6 地址或 CIDR 范围。”的提示。 - 修饰符问题:如果修饰符重复出现,会提示“条目
‹term›:‹detail›修饰符出现了多次。”。此外,修饰符不能带有+、-、~或?限定符,否则会触发“条目‹term›:修饰符不能带有 +、-、~ 或? 限定符。”的提示。 - 不推荐的机制:由于
ptr机制速度慢且不可靠,不应该发布该机制。如果存在,工具会提示“不应发布 ptr 机制,因为它速度慢且不可靠。”。
策略风险与逻辑冲突
除了语法错误,工具还会评估 SPF 记录中的策略合理性与逻辑冲突:
- 多个 all 机制:如果记录中存在多个
all机制,会提示“条目‹term›:多个 all 机制会使策略更难审核。”。 - 不可达条目:在 SPF 评估期间,所有位于
all之后的条目都是无法访问的,工具会对此进行标记。 - redirect 与 all 冲突:如果记录中同时包含
all和redirect,redirect会被忽略。 - 宽松策略风险:使用
+all会授权所有发件人,这通常会使 SPF 失去防伪造的作用。使用?all则会返回中性(neutral)结果,几乎无法为接收方邮件服务器提供明确的策略指引。 - 缺失终端策略:如果记录中既没有
all,也没有redirect,那么不匹配的发件人将会收到中性结果,工具会提示此项策略风险。
如果输入的记录非常完美,未发现任何上述问题,工具则会显示:“在所粘贴的记录中未发现语法或策略风险。”。
SPF 分析结果包含哪些内容
提交记录后,结果面板会展示以下信息:
- SPF 分析:将记录拆分为机制、直接 DNS 查找条目、风险和已解析条目。
- 直接触发 DNS 的条目:标出
include、a、mx、ptr、exists和redirect等会计入直接查找估算的条目。 - 机制:显示记录中找到的机制数量。
- 风险:显示找到的非信息级风险数量。
- 已解析条目:按原顺序列出每个条目的条目、类型、值或限定符,以及使用 DNS 状态。
常见问题解答
SPF DNS 查询次数估算是如何计算的?
估算会统计所粘贴记录中的 include、a、mx、ptr、exists 和 redirect 条目。被 include 和 redirect 指向的记录可能增加更多查询,因此本地检查无法得知最终的递归查询总数。
如果 SPF 需要超过 10 次 DNS 查询,会发生什么?
SPF 接收方必须将超过 10 个条目的 DNS 查询限制的评估视为永久错误。该限制涵盖完整的 include 和 redirect 链,而不只是第一条记录。
检查结果无问题是否能证明我的 SPF 配置有效?
不能。此页面只检查您粘贴的文本,不会查询 DNS、展开服务商记录、测试发件人 IP,也不会确认收件邮件服务器将返回什么结果。