我需要Postfix以一定的速度发送传出消息(从本地PHP)。 说,120秒内一个消息。 任何超过这个速率的消息应该排队(延迟)并在稍后交付。
Policyd不是我要找的。 我不需要限制发送的消息的总数量。 我需要在发送的任何两个消息之间暂停(120s)。
试过这个configuration,但它不工作:
initial_destination_concurrency = 1 default_destination_concurrency_limit = 1 default_destination_rate_delay = 120 default_destination_recipient_limit = 1 default_process_limit = 1
有什么build议么?
你需要设置
default_destination_recipient_limit = 2
而不是1.因为如果设置为1,那么限制将只适用于相同的收件人, 而不是域。
我会使用postfwd。 我在制作速度限制服务器时使用它。
当你说上面的configuration不工作,是不工作到相同的目的地或不同的目的地?
就一个build议来说,编写一个开启/closuresiptables规则来阻塞到端口25的外出连接是相当简单的。这将是我的下一个build议。
smtpd_client_connection_rate_limit = 100
smtpd_client_message_rate_limit = 100
smtpd_client_recipient_rate_limit = 200
smtpd_client_new_tls_session_rate_limit = 100
#
看一下这个
也许用qmgr玩一下就可以得到一些结果。