Postfix throttling for outgoing messages
I need Postfix to send outgoing messages (from local PHP) with a certain rate. Say, one message in 120 seconds. Any messages exceeding this rate should be queued (delayed) and delivered later.
Policyd is not what I'm looking for. I don't need limiting overall number of messages sent. I need a pause (120s) between any two messages beeing sent.
Tried this config, but it's not working:
initial_destination_concurrency = 1
default_destination_concurrency_limit = 1
default_destination_rate_delay = 120
default_destination_recipient_limit = 1
default_process_limit = 1
Any suggestions?
You need to set
default_destination_recipient_limit = 2
instead of 1. Because if set to 1 then the limit will only apply to the same recipient, not domain.
I'd use postfwd. I use it in production for rate limiting servers.
http://postfwd.org/doc.html#examples
You can throttle outbound emails:
default_destination_rate_delay = 1s
Postfix will add a delay between each message to the same receiving domain with a delay of 1 second. The default value is 0s.