Search code examples
amazon-web-servicesamazon-sesamazon-simple-email-service

What happens if I go over my quota of emails per seconds on AWS SES?


The AWS SES documentation says that if you go over your 24-hour quota, emails will be rejected.

However, it doesn't say anything on the same line for for the maximum send rate, i.e. how many emails you can send per second.

I would like to know if bursts are simply queued or emails are rejected and lost.


Solution

  • The behavior is the same in both cases, with a slightly different error message.

    Importantly, mail is never "lost." If SES accepts the message, it will deliver it. If you go over quota, SES does not accept the message at all.

    See https://docs.aws.amazon.com/ses/latest/DeveloperGuide/reach-sending-limits.html but note that the wording at one point is unfortunate: "Amazon SES drops the message and doesn't attempt to redeliver it" is dumbed-down to the point of not even being technically accurate. SES rejects the attempt to send the message and your application needs to retry. SES obviously can't "drop" or ("attempt to redeliver") anything it never accepted.


    Personal preference: use a Postfix server as a gateway to SES. Your application doesn't need to worry about quotas, then, because Postfix will attempt to retry until SES accepts the message, and can throttle itself to smooth out your sending rate. This is particularly important for transactional emails and an excellent practice in general, since you have a log in a central place.

    https://docs.aws.amazon.com/ses/latest/DeveloperGuide/postfix.html