![Postfix 中 sendmail 的“O HoldExpensive”相当于什么?](https://linux22.com/image/529644/Postfix%20%E4%B8%AD%20sendmail%20%E7%9A%84%E2%80%9CO%20HoldExpensive%E2%80%9D%E7%9B%B8%E5%BD%93%E4%BA%8E%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我正在尝试解决线路速度慢的问题:每当用户发送要通过公司 postfix 中继的消息时,只要 SMTP 对话结束,postfix 就会立即将该消息排队到 smtp 传输中。
当用户位于 LAN 内部时,一切正常;但当用户通过 WAN 时,情况就不一样了。
我们的用户使用 IMAP 帐户,该帐户由与 Postfix 服务器相同的 ADSL 线路提供服务,因此当 MUA 将邮件复制到“已发送”文件夹时,它会发现该线路被传出邮件堵塞。
在 sendmail 中,有一个“HoldExpensive”选项,它使服务器跳过第一次传送尝试,而是等待下一次队列运行。
在 postfix 中,我找到了 defer_transport 选项,但它似乎会无限期地保留消息。
我如何使用后缀模拟“HoldExpensive”行为?
答案1
据我所知,Postfix 没有这样的功能。
您可以使用访问策略抓住目标,当消息来自 WAN 用户时,会将该消息置于保留状态。之后,您可以使用后超级通过 cron 作业在方便时释放保留的消息。这样做的缺点是它还会延迟发送不需要通过 SMTP 发送的本地收件人的邮件。
更有效的解决方案可能是通过在防火墙上甚至在邮件服务器本身上启用流量整形来为最终用户提供一些有保证的 IMAP 带宽。