The config you have now is only going to make sure you only have a single simultaneous delivery to each destination. It's not going to actually throttle anything. I think adding this line to main.cf
may accomplish what you want:
slow_destination_rate_delay=2s
That will tell the queue manager to insert the specified delay between each individual delivery to the same destination. Since you haven't modified default_destination_recipient_limit
from its default, it should apply the delay to each recipient domain. So this should mandate a 2 second delay between each delivery to the domain listed in the transport map.
When I've had to do this in the past, I didn't go with the alternate transport mechanism. Since I was only concerned with delivery speed to each unique domain, I just added these lines to main.cf
:
smtp_destination_concurrency_limit = 1
smtp_destination_rate_delay = 1s
So if there is mail being injected for 30 different domains, it may try to deliver a message to all 30 of them at once, but never more than one at a time to example.com
and never faster than 1 per second to example.com
.
postconf -n
and your Postfix version would be helpful./etc/postfix/transport
?