SPF 记录检查器

粘贴 SPF TXT 记录,拆解其中的条目、估算 DNS 查询次数,并发现语法或策略风险。

SPF 记录
粘贴以 v=spf1 开头的值。支持带引号的 DNS TXT 分段,并会将其合并。

SPF 分析

粘贴 SPF 记录,然后进行检查。

语法和策略提示

    直接触发 DNS 的条目
    0 完整评估期间最多允许:10
    机制
    0
    风险
    0

    已解析条目

    条目类型值或限定符使用 DNS
    粘贴 SPF 记录以进行检查。

    您的 SPF 记录只会留在浏览器中。BroBroGo 不会上传或保存该记录。

    常见问题

    SPF DNS 查询次数估算是如何计算的?

    估算会统计所粘贴记录中的 include、a、mx、ptr、exists 和 redirect 条目。被 include 和 redirect 指向的记录可能增加更多查询,因此本地检查无法得知最终的递归查询总数。

    如果 SPF 需要超过 10 次 DNS 查询,会发生什么?

    SPF 接收方必须将超过 10 个条目的 DNS 查询限制的评估视为永久错误。该限制涵盖完整的 include 和 redirect 链,而不只是第一条记录。

    检查结果无问题是否能证明我的 SPF 配置有效?

    不能。此页面只检查您粘贴的文本,不会查询 DNS、展开服务商记录、测试发件人 IP,也不会确认收件邮件服务器将返回什么结果。

    什么是 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 查询次数估算会统计所粘贴记录中的 includeamxptrexistsredirect 条目。
    • 超限后果:如果记录包含超过 10 个触发 DNS 查询的条目,工具会标记提示:“此记录已包含 ‹detail› 个触发 DNS 查询的条目,超过 SPF 的 10 次限制。”。对于 SPF 接收方而言,如果评估时超过了 10 次 DNS 查询限制,必须将其视为永久错误(permanent error)。
    • 嵌套查询风险:由于本工具仅进行本地语法检查和首条记录的查询次数估算,它不会查询 DNS,也不会展开 includeredirect 目标。因此,includeredirect 目标在实际解析时可能会增加更多的 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 冲突:如果记录中同时包含 allredirectredirect 会被忽略。
    • 宽松策略风险:使用 +all 会授权所有发件人,这通常会使 SPF 失去防伪造的作用。使用 ?all 则会返回中性(neutral)结果,几乎无法为接收方邮件服务器提供明确的策略指引。
    • 缺失终端策略:如果记录中既没有 all,也没有 redirect,那么不匹配的发件人将会收到中性结果,工具会提示此项策略风险。

    如果输入的记录非常完美,未发现任何上述问题,工具则会显示:“在所粘贴的记录中未发现语法或策略风险。”。

    SPF 分析结果包含哪些内容

    提交记录后,结果面板会展示以下信息:

    • SPF 分析:将记录拆分为机制、直接 DNS 查找条目、风险和已解析条目。
    • 直接触发 DNS 的条目:标出 includeamxptrexistsredirect 等会计入直接查找估算的条目。
    • 机制:显示记录中找到的机制数量。
    • 风险:显示找到的非信息级风险数量。
    • 已解析条目:按原顺序列出每个条目的条目、类型、值或限定符,以及使用 DNS 状态。

    常见问题解答

    SPF DNS 查询次数估算是如何计算的?

    估算会统计所粘贴记录中的 includeamxptrexistsredirect 条目。被 includeredirect 指向的记录可能增加更多查询,因此本地检查无法得知最终的递归查询总数。

    如果 SPF 需要超过 10 次 DNS 查询,会发生什么?

    SPF 接收方必须将超过 10 个条目的 DNS 查询限制的评估视为永久错误。该限制涵盖完整的 includeredirect 链,而不只是第一条记录。

    检查结果无问题是否能证明我的 SPF 配置有效?

    不能。此页面只检查您粘贴的文本,不会查询 DNS、展开服务商记录、测试发件人 IP,也不会确认收件邮件服务器将返回什么结果。