我需要 Postfix 以一定的速率发送外发消息(来自本地 PHP)。比如说,120 秒发送一条消息。任何超过此速率的消息都应排队(延迟)并稍后发送。
政策这不是我想要的。我不需要限制发送的消息总数。我需要在发送的两条消息之间有暂停(120 秒)。
尝试了这个配置,但它不起作用:
initial_destination_concurrency = 1
default_destination_concurrency_limit = 1
default_destination_rate_delay = 120
default_destination_recipient_limit = 1
default_process_limit = 1
有什么建议么?
答案1
您需要设置
default_destination_recipient_limit = 2
而不是 1。因为如果设置为 1,则限制仅适用于同一个收件人,不是领域。
答案2
我会使用 postfwd。我在生产中使用它来限制服务器的速率。
答案3
您可以限制出站电子邮件:
default_destination_rate_delay = 1s
Postfix 会在每封邮件到同一个接收域之间添加延迟,延迟时间为 1 秒。默认值为 0s。
答案4
当您说上述配置不起作用时,它是否对同一目的地不起作用或对不同的目的地不起作用?
就建议而言,编写一个开/关 iptables 规则来阻止到端口 25 的传出连接是相当简单的。这将是我的下一个建议。