其他分享
首页 > 其他分享> > SMTP配置参数

SMTP配置参数

作者:互联网

现象:
SMTP日志中出现‘432 4.3.2 STOREDRV.ClientSubmit; sender thread limit exceeded’,当第一次邮件发送失败后,隔短时间(300s~4000s)后postfix再次尝试发送成功。

postfix相关参数:

    参数:queue_run_delay
    说明:用于设定队列处理程序对拖延邮件的扫描周期。缺省为1000秒。
    例 如:queue_run_delay = 1000

    最长队列生命期
    参数:maximal_queue_lifetime
    说 明:用于设定队列处理程序对滞留邮件的最长保存期。缺省为5天。
    例如:maximal_queue_lifetime = 5

    最小投递失 败周期
    参数:minimal_backoff_time
    说明:用于设定队列处理程序对无法投递的邮件的最短巡回时间。缺省为300秒。
    例 如:minimal_backoff_time= 1000

    最长投递失败周期
    参数:maximal_backoff_time
    说 明:用于设定队列处理程序对无法投递的邮件的最长巡回时间。缺省为4000秒。
    例如:maximal_backoff_time= 4000

    个人理解解释:默认1000s扫描一次队列,队列邮件中上次发送失败时间大于300s,小于4000s的,再次尝试发送(根据投递失败次数,失败次数越多,匹配到的值越大,最大不超过4000s),如果距离开始发送失败已经超过5天,则退信
    比如:第一次失败:延迟300s,第二次延迟800s,第三次延迟1000s,第四次2000s。

建议修改配置为:

    queue_run_delay = 30s;    # 每1000s会扫描一次delay的邮件
    minimal_backoff_time= 30s; # 在30s内不会重发delay的邮件
    maximal_backoff_time= 180s;  # 如果超过120s则一定会重发邮件
    maximal_queue_lifetime = 2400s;  #邮件超过2400s没有发出去则退信

    预期效果为:
    每30s扫描一次队列,队列邮件上次发送大于30s,小于180s的,再次尝试发送,如果距离开始发送失败已经2400s(最多重发20次),则退信。

标签:maximal,队列,配置,SMTP,backoff,queue,参数,time,邮件
来源: https://www.cnblogs.com/robin788/p/16300027.html