Noel, I'm confused. What you say seems to contradict this: The default_destination_concurrency_limit parameter (default: 20) controls how many messages may be sent to the same destination simultaneously FROM : http://www.postfix.org/TUNING_README.html
Are you saying any custom ones we set act differently than the default ? This is mine, I have been running for a long time. slowaol_destination_recipient_limit = 10 slowaol_destination_concurrency_limit = 2 slowaol_destination_rate_delay = 30s slowhot_destination_recipient_limit = 10 slowhot_destination_concurrency_limit = 2 slowhot_destination_rate_delay = 10s In your mind what does my config do ? I thought it sends 20 emails a minute max to AOL and 120 emails a minute max to Hotmail. Thanks your help. -ALF -Angelo Fazzina Operating Systems Programmer / Analyst University of Connecticut, UITS, SSG-Linux/ M&C 860-486-9075 -----Original Message----- From: owner-postfix-us...@postfix.org [mailto:owner-postfix-us...@postfix.org] On Behalf Of Noel Jones Sent: Tuesday, October 18, 2016 9:50 AM To: postfix-users@postfix.org Subject: Re: Rate Limiting & 'destination_concurrency_limit' On 10/18/2016 3:39 AM, David Byrne wrote: > Hi all, > We need a way to limit outbound mails to a specific domain to just 10 mails > in 10minutes. The issue I’m having is that I can only get it to send 1 email > every queue run, so 1 email every 10minutes. I can set the > destionation_rate_delay to 1minute, and have 10 of them send in 10minutes, > but this delays the messages for up to 10 minutes. > Postfix does not have a mechanism to send a burst of mail, then wait some specified period of time for the next burst. For a limit of 10 messages per 10 minutes, postfix must send one message per minute. The concurrency limit is automatically set to one when using rate delays. -- Noel Jones > I have a custom smtp_transport configured in a test environment: > > Running postfix 2.6.6 > CentOS 6.8 x64 > > Main.cf > #ratelimit config > smtp-dave_destination_rate_delay = 30s > smtp-dave_destination_concurrency_limit = 1 > smtp-dave_destination_recipient_limit = 2 > smtp-dave_initial_destination_concurrency = 1 > > #transport map > transport_maps = regexp:/etc/postfix/transport > > In /etc/postfix/transport I have: > /\@domain\.co\.uk/ smtp-dave: > (where domain is the receiving domain that this needs to apply to) > > Master.cf > smtp-dave unix - - n - 1 smtp > -o syslog_name=smtp-dave > > ----------------------------- > > I trigger a bunch of emails to be sent instantly with the following: > for i in `cat recpts`; do echo "hello" | mail -s "testing throttling" $i; done > (where recpts is a file with 60instances of the receiving domains email > address) > > What happens taking the above config into account is it queues 59 mails, > sends one, then runs the transport every 30seconds, and sends 1 more mail, > waits 30seconds, sends 1 more mail. > > There are two problems with this: > > Firstly, if I change the config to: > smtp-dave_destination_rate_delay = 30s > smtp-dave_destination_concurrency_limit = 5 > smtp-dave_destination_recipient_limit = 2 > smtp-dave_initial_destination_concurrency = 5 > > It does not send 5 emails at once, which I expected it to.. Perhaps I’ve > misinterpreted the meaning od concurrency limit?