Is it possible to have postfix limit the amount of emails it sends at once and when there is larger than x email, send them out in timed batches (wait 5 minutes, send another 50, something like that)?
I'm running into an issue where I've set my SMTP relay to be Google Apps, which limits the amount of logins per hour, due to Postfix trying to send all emails at once (a queue can burst by 1000 at a time) it times out and gives this error:
(delivery temporarily suspended: SASL authentication failed; server smtp.gmail.com[74.125.25.108] said: 454 4.7.0 Too many login attempts, please try again later. y2sm3513004pas.45 - gsmtp)
I then have to manually flush the queue about 15 times over the course of a day to send all the emails.
Best Answer
In my earlier comment, I was wrong about
transport_destination_rate_delay
behaviour.The meaning of "same destination" here is
See this thread and this documentation page.
In your case, you have configured GApps server as
relayhost
. It means postfix will see relayhost as your nexthop. So you can applydefault_destination_rate_delay
to delay delivery attempt to one GApps although you have multiple domain to send.Given you want to 50 email per 5 minutes then you can configure postfix to give (5 * 60) / 50 = 6s delay per delivery.