STRATEGIES
The queue manager implements a variety of strategies for either opening
queue files (input) or for message delivery (output).
...
destination status cache
The queue manager avoids unnecessary delivery attempts by main-
taining a short-term, in-memory list of unreachable destina-
tions.
免责声明:此答案仅使用互联网上的一些后缀文档,所以也许我在这里错过了一些事实。要获得更好和准确的文档,请随时在 postfix 邮件列表中发布问题(Wietse Venema 是该列表中的活跃人员)或查看 postfix 源代码。
以上所有问题都集中在后缀退避算法上。首先,我将尝试解决死去的问题
这里的相关部分
man 8 qmgr
综上所述,postfix 确实对死去的目的主机有缓存。要控制这种行为,请调整
qmgr_message_recipient_limit
参数。那么当后缀检查主机是否还活着?Postfix 仅在活动队列中有消息且其上有目的地时才尝试连接到主机。除此之外,postfix 不会主动检查主机是否还活着。
Postfix 仅检查优先级较低的 MX 主机,如果主要主机不可用或 postfix 从远程主机获取错误代码 4xx。其他 MTA 在收到 4xx 错误代码时表现不同,因为只要 MTA可以连接到主要主机,它们就可能永远不会尝试连接到辅助 MX 主机。请参阅:postfix 目标已满/忙/错误尝试另一个目标和Exchange 不向第二个 MX 发送电子邮件
关于消息重试时间,postfix 将把消息放到延迟队列中,如果它无法传递直到
bounce_queue_lifetime
(对于 postfix 生成的退回)或maximal_queue_lifetime
(对于其他)。如上所述,只有在 qmgr 将其放入活动队列时,postfix 才会再次重新发送。这里是postfix docs关于postfix调度算法的相关摘录。因此,如果您想调整重试时间,请随意使用参数minimum_backoff_time、maximal_backoff_time和queue_run_delay。