Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question

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.

share|improve this answer

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

share|improve this answer

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.

share|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

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

share|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

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

share|improve this answer

It's really common for people to do this for email going to yahoo. You can look at an example configuration at , and tweak the numbers as you need.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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