传出消息的 Postfix 节流

Ser*_*lev 12 postfix rate-limiting

我需要 Postfix 以一定的速率发送外发消息(来自本地 PHP)。比如说,120 秒内发送一条消息。任何超过此速率的消息都应排队(延迟)并稍后传送。

Policyd不是我要找的。我不需要限制发送的消息总数。我需要在发送的任何两条消息之间暂停(120 秒)。

试过这个配置,但它不起作用:

initial_destination_concurrency = 1
default_destination_concurrency_limit = 1
default_destination_rate_delay = 120
default_destination_recipient_limit = 1
default_process_limit = 1
Run Code Online (Sandbox Code Playgroud)

有什么建议?

小智 8

你需要设置

default_destination_recipient_limit = 2
Run Code Online (Sandbox Code Playgroud)

而不是 1。因为如果设置为 1,则限制将仅适用于同一收件人,而不适用于域。


小智 5

我会使用 postfwd。我在生产中将它用于限速服务器。

http://postfwd.org/doc.html#examples


Gre*_*ort 0

当你说上面的配置不起作用时,它是对同一目的地不起作用还是对不同目的地不起作用?

至于建议,编写一个开/关 iptables 规则来阻止到端口 25 的传出连接是相当简单的。这将是我的下一个建议。