454 Throttling failure: Maximum sending rate exceeded

Your application is submitting to SES faster than the account's per-second sending rate, or has used its 24-hour quota (the wording is then "Daily message quota exceeded"). SES asks you to slow down; it has not rejected the message permanently and will accept it on a later attempt.

What the server replies

454 Throttling failure: Maximum sending rate exceeded.

Sent by
Amazon SES
Type
TemporaryRetry helps
About
Rate limits and quotas
Enhanced code
None sent

Who sends it

The SES SMTP interface and API at submission. The limits are per account per region and are shown in the SES console under Account dashboard.

Why it happens

  • A burst of sends from a queue worker with no rate limiting, for example after a backlog.
  • A new account with the default rate of one message per second.
  • Multiple services sharing one SES account and together exceeding the quota.
  • A loop in the application resubmitting the same message.

How to fix it

  1. Add a limiter in front of SES

    Send through a queue that respects the maximum send rate, with exponential back-off on 454. The AWS SDKs retry throttling errors automatically if you let them.

  2. Request a higher limit

    In the SES console open Account dashboard and request a sending quota increase. AWS raises limits for accounts with low bounce and complaint rates, often within a day.

  3. Check for a resend loop

    If the quota was consumed by a few messages sent thousands of times, fix the application before asking for more capacity.

Check it yourself

These free tools show the records and connections behind this code for your own domain or server.

Related codes

Sources

Fewer bounces to look up.

Faivelo queues temporary failures and retries them on a schedule receivers accept, then tells your application once, in plain words, if a message finally cannot be delivered.

Send with Faivelo

Free tier included. No card needed.