450 4.7.1 communication runtime_error ai_generated true

450 4.7.1 请求的操作未执行:超出速率限制

450 4.7.1 Requested action not taken: rate limit exceeded

ID: communication/smtp-rate-limit-exceeded

其他格式: JSON · Markdown 中文 · English
82%修复率
84%置信度
1证据数
2023-07-01首次发现

版本兼容性

版本状态引入弃用备注
Postfix 3.7 active
Exim 4.96 active
Sendmail 8.17 active

根因分析

SMTP 服务器每连接或每发件人的速率限制已超出,通常由于短时间内发送过多邮件。

English

The SMTP server has a per-connection or per-sender rate limit that has been exceeded, often due to sending too many emails in a short period.

generic

官方文档

https://tools.ietf.org/html/rfc5321#section-4.2.5

解决方案

  1. Implement exponential backoff with jitter: wait 2^retry seconds + random(0-1s) before retrying. Example in Python: `time.sleep(min(2**attempt + random.uniform(0, 1), 60))`.
  2. Throttle sending rate to N emails per second per connection (e.g., 10 emails/s) using a token bucket algorithm.

无效尝试

常见但无效的做法:

  1. 70% 失败

    Increasing connection pool size without throttling may hit per-sender limit faster.

  2. 90% 失败

    Switching to a different SMTP port (e.g., 587 vs 465) doesn't bypass rate limits.

  3. 60% 失败

    Adding more sender addresses without reducing per-address rate still triggers limits on each.