[ 标头和传送错误 ]

SMTP暂时和永久故障:选择正确的调查

使用SMTP回复类别、故障阶段和队列历史记录来决定是否重试、修复或调查不确定的传送。

由EmailAuth研究团队提供 · 3 分钟阅读

[ 要点 ]

  • 使用SMTP回复类别、故障阶段和队列历史记录来决定是否重试、修复或调查不确定的传送。
  • 选择重试、修复或协调
在此页面上

即使消息仍然可重试,临时故障也可能需要立即修复。即使最初的失败尝试不应该不做任何更改,在进行合法的配置更正后,永久性故障也可能会消失。将SMTP类视为处理指令,将诊断文本视为调查证据。

阅读失败阶段的课程

RFC 5321区分肯定完成、中间回复、瞬时否定完成和永久否定完成。 4xx 响应允许正常的稍后重试处理。 5xx 响应意味着未执行所请求的操作,并且不应以不变的方式重复相同的请求。确切的阶段很重要:拒绝的接收者、拒绝的 DATA 命令以及消息内容后的拒绝具有不同的事务边界。 RFC 5321第 4.2 和 4.5.4 节.

DATA 将接受消息的责任转移给该SMTP接收者后,最终的肯定响应。它不会在收件箱中建立放置位置。相反,在客户端传输最终终止符之后但在看到回复之前发生连接失败可能会导致结果不确定。如果第一个副本被接受,盲目手动重新提交可能会产生重复。

建立队列时间线

记录第一次尝试、每次相关响应、最后一次尝试、下一次计划尝试、队列期限、收件人状态和到期决定。包括消息的业务用途:过期的登录链接和发票不具有相同的使用寿命。保留发送系统的实际重试策略,而不是发明通用的提供者延迟。

RFC 5321提供排队指导,包括延迟重试而不是连续尝试。应用当前平台支持的队列控制和组织的交付要求。不要使用紧密的重试循环来测试远程限制是否已清除。评估负载和恢复时,将新的生产流量与排队重试分开。

比较三个假设结果

这些是发明的诊断案例,而不是捕获的邮件交易。案例 A 在 RCPT TO 收到 451,因此收件人未被接受。在调查所述情况时,使该项目遵守发送服务的重试政策。如果稍后的尝试达到最终数据接受,记录其覆盖的收件人和消息;该单一结果并不能解决每个排队的项目。

情况 B 因收件人无效而收到 550 5.1.1。停止不变的例行重试,并通过可信联系人确认地址。情况 C 发送 DATA 终止符,但在看到最终回复之前就失去了连接。与 A 或 B 不同,它的接受程度是未知的。在创建另一个副本之前查找接收者和队列证据;相同的 Message-ID 并不能保证重复数据删除。

将补救措施与原因相匹配

对于临时DNS 、网络或服务故障,请在队列保持有限状态时调查失败的依赖项。对于与身份验证相关的延迟,请修复指定的身份验证问题,而不是简单地等待。对于永久无效收件人响应,请在创建更正的消息之前通过现有合法通道验证地址。

当不确定是否接受时,请在重新提交关键业务邮件之前协调队列和接收日志。保留原始 Message-ID 和交易证据以供调查,同时避免有关重复数据删除的不受支持的假设。仅当队列增长停止、代表性预期消息完成且过期或失败消息具有显式处置时才关闭事件。恢复一条测试消息并不能证明整个积压消息已送达。

选择重试、修复或协调

  • 4xx 已知不接受:将项目保留在支持的队列策略下并调查依赖性。
  • 5xx:停止未更改的例行尝试并确认合法的更正。
  • 缺少最终数据回复:将接受视为未知;在手动重新提交之前协调接收者证据。
  • 关闭:记录每个受影响收件人的结果,包括过期消息和可能的重复消息。

[ 外卖 ]

使用SMTP回复类别、故障阶段和队列历史记录来决定是否重试、修复或调查不确定的传送。

[ 按角色 ]

这对您意味着什么

选择您的角色以执行后续实际步骤。

IT/邮件管理员

重建队列

响应类需要事务和时间上下文。

后续步骤

  1. 保留尝试历史记录。
  2. 避免激进的重试循环。
  3. 调和不确定的接受。

CISO / SecOps

防止重试驱动的事件

无限制的重试可能会加剧滥用或拥塞。

后续步骤

  1. 检查队列控制。
  2. 调查身份验证延迟。
  3. 检查重复发送风险。

创始人/非技术人员

优先考虑业务实用性

最终传递的消息仍然可能到达得太晚。

后续步骤

  1. 识别时间敏感的邮件。
  2. 批准到期处理。
  3. 跟踪未解决的收件人。

[ 常见问题解答 ]

常见问题

暂时是否意味着不需要采取任何行动?

否。可重试的身份验证或路由失败可能仍需要修复。

是否应该重试未更改的 5xx 请求?

不是常规的。在进行新的合法尝试之前调查并纠正其原因。

DATA 后的 250 是否证明收件箱位置?

不会。它将责任转移给该SMTP接收者。

如果最后的回复丢失了怎么办?

结果可能是不确定的;在手动重新提交之前核对证据。

本指南是否规定了通用重试间隔?

否。使用当前发送服务支持的重试和过期策略。这些示例解释了处理选择,而不是测量的提供者时间。

队列时间线应该保留什么?

尝试次数、响应、收件人状态、下次重试、期限和到期决定。

所有消息都应该具有相同的生命周期吗?

否。应用支持的队列策略和每个消息类别的业务用途。

什么证明积压已恢复?

在积压的工作中排队和接收证据,而不仅仅是一次成功的测试。

[ 来源 ]

来源

  1. RFC 5321 :简单邮件传输协议

    部分 §4.2 · §4.5.4 · §6.1

  2. RFC 3463 :增强型邮件系统状态代码

    部分 §2 · §3

[ 词汇表 ]

词汇表

瞬时故障
稍后重试可能会成功的SMTP失败类别。
排队年龄
自消息进入传送队列以来所经过的时间。
验收不确定性
发送者证据无法确定接收者是否承担责任的状态。

企业出处

为什么顶级金融机构和政府 退役了他们的电子邮件安全仪表板。

传统的电子邮件身份验证平台会向您出售仪表板并要求您的工程师来完成这项工作。在高风险环境中,手动监督意味着延迟执行、配置漂移和不受监控的影子域。

EmailAuth是代理电子邮件来源平台。 我们的代理人强制执行 p=reject,保持第三方发件人一致并将您的域名移至完整状态 RFC 9989 合规性、新的DMARC标准,以及人机交互审核能力。

政府 大型企业 一级金融机构

SaaS · 专用租赁 · 气隙本地部署 · BYOK 加密

知识库