“SPF “在工具中传递”和“收件人报告SPF失败”并不一定矛盾。该工具可能已验证语法、测试了不同的 IP 或查询了较新的DNS 。收件人评估了特定的SMTP连接。诊断从重建该连接开始,而不是假设任一结果一定是错误的。
确定该工具实际通过了什么
保存工具的输入和准确的输出。有效记录指示符不一定是消息的SPF通行证。如果执行了评估,请记录 IP 地址, 信封发件人, HELO 相关的地方和查询时间。向其他团队报告事件时,请保持明显的区别。
然后收集目的地的可信身份验证结果或SMTP拒绝证据。请勿处理发件人提供的 Authentication-Results 字段作为目的地的判断。 RFC 8601 解释了为什么结果需要信任边界。
比较身份和连接地址
SPF根据相关SMTP身份(而不仅仅是可见的发件人地址)评估连接。 RFC 7208 §2.3 和 RFC 7208 §2.4 描述HELO和 MAIL FROM 检查。将接收器观察到的 IP 和评估域与工具夹具进行比较。
一个说明性案例:应用程序显示 From billing@example.com但使用提供商域下的信封标识。 example.com的工具测试可能与接收者的实际SPF决策无关。在另一种情况下,应用程序通过与管理员预期不同的中继离开。在扩展授权之前先确定对路线的理解。
如中所述 RFC 7208 §10.3,如果涉及转发器,最终接收者可以看到转发器的连接而不是原始发送IP。不要将每个观察到的转发器添加到源域的SPF作为全面修复。相反,评估完整的间接邮件流和其他身份验证结果。
比较相关时间的DNS
检索当前适用的记录和依赖项。保留接收者的事件时间和任何同期DNS证据。维修后进行的测试无法证明接收者之前看到的情况。同样,提供者依赖关系可以在不进行本地记录编辑的情况下进行更改。
检查权威出版物、递归答案和错误情况。将旧的缓存策略与丢失的策略或临时DNS错误区分开来。 RFC 7208第 2.6 节 定义不同的结果类别;不要崩溃失败, softfail , temperror 和 permerror 纳入一项诊断。
重播实际路径
使用具有标准意识的评估器和观察到的输入。检查匹配机制、限定符、递归依赖关系以及任何限制或DNS错误。如果历史DNS不可用,请将重播标记为当前状态的测试,而不是早期事件的重建。
如果发件人可以使用这两个地址系列,请测试这两个地址系列。比较多个受影响和未受影响的样本,以查看故障是否遵循路由、区域、IP 系列或时间间隔。这是推荐的诊断方法,而不是声称任何特定提供商以特定方式分配流量。
进行最窄的支撑修复
更正已确认的问题:信封配置错误、缺少授权范围、策略格式错误、依赖关系损坏或路由不一致。保持原状态并取得正常变更批准。不要仅仅为了获得无法解释的样本通过而扩大政策范围。
修复后,通过相同的应用路径发送并检查新的可信接收者结果。查看 DMARC 单独,因为原始SPF通道可能未对齐,而对齐的 DKIM 即使SPF失败,pass 也可能支持DMARC 。这 对准诊断指南 涵盖了这一区别。通过新旧证据之间的差异来结束事件,而不仅仅是另一个绿色格子屏幕截图。
DNS背景: RFC 1035第 3.2.1 节 定义资源记录 TTL; RFC 2308 §5 涵盖缓存否定答案。 RFC 8767 §4 更新 TTL 语义,以在权威刷新失败时允许过时的使用。这些描述的是DNS行为,而不是更改的通用完成时间。
使用具体的决策记录
假设比较:检查者今天根据example.com评估 IP A;昨天的接收者根据bounce.service.example.net评估了IP B。这些是不同的输入集。记录 IP/域/时间三元组以及每个三元组可用的DNS证据。如果历史DNS丢失,说明原始结果无法完全重放。不要仅根据这些观察结果来标记任一工具有缺陷。此处未执行重播或DNS测试。