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?

link|improve this question
feedback

5 Answers

I'd use postfwd. I use it in production for rate limiting servers.

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

link|improve this answer
feedback

Slow down clients sending mail too fast

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

#

check this out

link|improve this answer
Won't work. I need a very low rate. Something like this: blah_blah_rate_limit = 0.01 Seems like commands you suggest are for incoming mail, not outgoing. – Sergey Kovalev Feb 10 '10 at 17:13
feedback

Maybe playing a bit with qmgr you could obtain some results.

http://www.postfix.org/qmgr.8.html

link|improve this answer
feedback

It's really common for people to do this for email going to yahoo. You can look at an example configuration at http://old.nabble.com/Create-Custom-Mail-Queue-td21577217.html#a21577217 , and tweak the numbers as you need.

link|improve this answer
feedback

When you say that the above config is not working, is it not working to the same destination or to different destinations?

As far as a suggestion, it would be fairly trivial to script an on/off iptables rule to block outgoing connections to port 25. That would be my next suggestion.

link|improve this answer
Not working even for the same e-mail address. 100 messages to one particular e-mail are sent in about 30 seconds. – Sergey Kovalev Feb 10 '10 at 17:15
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.