[ 送达率和发件人规则 ]

流量突然增加和提供商限制

在更改发送速率之前,通过区分应用程序配额、 SMTP延迟和永久故障来诊断与流量相关的速度下降。

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

[ 要点 ]

  • 确定第一个延迟阶段以及哪个系统发出响应。
  • 将独特的作业与尝试分开计数,并对临时失败和永久失败进行分类。
  • 在不创建重复交易或逃避限制的情况下减轻压力。
在此页面上

活动期间队列增长可能有多种原因。应用程序生成邮件的速度可能比其提供商接受邮件的速度快,提供商可能会减慢出站投递速度,或者接收系统可能会推迟特定目的地的发送。将这三个都称为“ Gmail限制”隐藏了瓶颈的位置。

找到第一个延迟阶段

参考: RFC 5321 §4.2.1, RFC 5321 §4.5.4.1.

捕获作业创建、提供商提交、提供商接受和每次交付尝试的时间戳。保留完整的响应文本和发出它的系统。成功的应用程序 API 响应与最终接收服务器接受消息不同。如果提供者未公开某个阶段,请将其标记为不可用,而不是推断确切的时间戳。

SMTP将临时否定答复与永久否定答复区分开来。临时响应并不是全速不断重试的指示;发送系统需要一个队列和适当的重试策略。永久性故障不应被视为无休止的临时积压。 RFC 5321第 4 节和 4.5.4.

检查更改的工作负载

比较目的地组合、独特的消息和尝试。发送多次重试的活动可能会增加尝试计数,而不会代表其他收件人。将营销作业与延迟敏感的事务消息分开,并检查它们是否竞争相同的并发或速率预算。

谷歌建议在监控响应的同时避免突发并逐渐增加流量。将当前的Gmail指南应用于其规定的范围,而不是将其转化为通用的每秒安全邮件限制。本文中的任何公众号都无法证明发送者的身份。 Gmail发件人指南.

进行队列算术

参考: RFC 5321 §4.2.1.

本地综合模型以空队列开始。新作业以每分钟 120 条消息的速度到达,而假设的服务速率为每分钟 80 条,持续 10 分钟。积压的消息每分钟增加 40 条,达到 400 条。如果随后暂停到达并继续保持相同的服务费率,则理想的流失时间为五分钟。

这是队列算术,而不是测量的提供者限制或实时恢复的预测。它故意排除重试、过期和更改服务费率。这些遗漏解释了为什么真正的队列可能需要更长的时间。在计算的同时保留假设,这样容量工作表就不会成为不受支持的服务水平承诺。

保留的确定性响应状态模型在离线状态下重新运行以进行此审核,并保留尝试分类帐。在 UTC 时间 09:00,一项脚本化作业收到“451 4.7.0 临时速率限制;稍后重试”。其状态变为重试待定,受影响的流被标记为减压,并且在 09:30 受控的本地重试收到“250 2.0.0 Accepted”。另一个作业在 09:00 收到“550 5.1.1 No such returned”,并进入永久失败,无需重试;其下一步行动是批准收件人验证。这些完整的回复是发明的本地测试输入。三十分钟是该灯具的重试设置,而不是通用的提供商指令。该代码从响应类派生状态转换,并禁止计划外的第二次尝试。

减轻压力而不失正确性

参考: RFC 5321 §4.5.4.1.

通过批准的调度程序暂停或减少受影响的非必要流。让负责的队列使用其支持的策略重试临时失败。避免创建第二个队列来重新发送同一事务,因为仪表板会延迟。使用稳定的事务标识符来协调不确定的提交结果。

对于紧急消息,仅在验证身份验证和防止重复后才遵循批准的连续性路线。不要通过轮换基础设施来逃避提供商的限制。使用时间戳、响应文本、目标范围、路由标识符和纠正更改的证据进行升级。

当积压和年龄分布在定义的合法工作负载下稳定时,恢复扩展。继续检查最旧的消息:较低的平均延迟可以隐藏一小部分严重逾期的重置或收据。

[ 外卖 ]

在不创建重复交易或逃避限制的情况下减轻压力。

[ 按角色 ]

这对您意味着什么

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

IT/邮件管理员

找到延迟系统

队列在到达接收者之前可能会停止。

后续步骤

  1. 保留阶段时间戳。
  2. 将尝试与事务分开。
  3. 检查最旧的消息年龄。

CISO / SecOps

保持安全恢复

压力不得导致绕过或重复敏感邮件。

后续步骤

  1. 检查后备授权。
  2. 需要幂等提交。
  3. 保留事件响应证据。

创始人/非技术人员

保护时间敏感的旅程

营销活动容量可能会消耗客户所需的资源。

后续步骤

  1. 识别关键流。
  2. 授权不必要的节奏改变。
  3. 审查未解决的客户影响。

[ 常见问题解答 ]

常见问题

应用程序配额错误是否会导致接收者拒绝?

未必。确定是哪个系统发出的。

重试是否会收到新的收件人邮件?

不。将唯一交易与交付尝试分开计算。

临时SMTP回复是否意味着该地址无效?

不。它标识暂时性故障;检查完整的响应。

RFC 5321 §4.2.1

永久性失败是否应该无限期地重试?

否。使用实际响应和支持的政策对它们进行分类。

RFC 5321 §4.2.1

是什么造成了该示例的 400 条消息积压?

十分钟内到达的消息数量超出了每分钟 40 条消息。

能否保证五分钟的排水时间?

不会。它假设没有新来者并且服务率保持不变。

为什么要检查最旧的消息年龄?

平均值可以隐藏一小部分严重延迟的人口。

可以使用新的IP来规避限流吗?

不要将基础设施轮换视为未解决的提供商限制的补救措施。

[ 来源 ]

来源

  1. RFC 5321

    部分 §4.2.1 · §4.5.4.1

  2. Gmail发件人指南

    部分 缓慢增加发送量以避免发送问题

[ 词汇表 ]

词汇表

排队年龄
自消息进入相关队列以来所经过的时间。
延期
临时否定SMTP响应,需要稍后根据发件人的重试策略进行处理。
服务率
排队工作完成定义阶段的建模或观察速率。

企业出处

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

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

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

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

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

知识库