SMTP

SMTP Error 452

SMTP 452 is a temporary "insufficient system storage / too many recipients" deferral. Learn what RFC 5321 says, the 4.5.3 vs 4.3.1 variants, and how to fix it.

Updated Jul 1, 2026

The short answer

SMTP 452 is a transient ("try again later") reply defined in RFC 5321 meaning "Requested action not taken: insufficient system storage." The receiving server temporarily can't accept the message, usually because it's low on disk/queue space or you exceeded a per-message recipient cap (452 4.5.3 "too many recipients"). It's not permanent: retry with backoff, split large recipient lists, and slow your send rate.

SMTP 452 is a transient negative reply, not a permanent rejection. Per RFC 5321 its standard text is "Requested action not taken: insufficient system storage." Because it is a 4yz code, RFC 5321 §4.2.1 says the command "was not accepted and the requested action did not occur," but "the error condition is temporary and the action may be requested again." A well-behaved sender should queue the message and retry — it usually delivers on a later attempt.

What causes SMTP Error 452?

There are two distinct triggers, and the enhanced status code (RFC 3463) that follows the 452 tells you which:

  • Server is low on storage / queue space — 452 4.3.1 ("Mail system full") or a bare 452. The receiving MTA has run out of disk, spool, or temporary queue space and can't accept more mail right now. This is on the receiving side, not yours.
  • Too many recipients in one transaction — 452 4.5.3 ("Too many recipients"). You listed more recipients in a single message (To + Cc + Bcc) than the server accepts per transaction. RFC 3463 §3.6 describes X.5.3 as "more recipients … than could have been delivered by the protocol," and recommends splitting the message. Postfix returns this when recipients exceed smtpd_recipient_limit (default 1000); Google Workspace caps the SMTP path (messages sent via SMTP by POP/IMAP clients) and the SMTP relay service at 100 recipients per message/transaction (its 500-recipient figure applies to the Gmail API and to external recipients in the Gmail web interface, not to SMTP).

Note: a sustained daily sending quota breach (e.g. Gmail's "you have reached a limit") more often surfaces as a 421 or 550, not a 452. Don't assume 452 means "raise my daily cap."

How do I fix SMTP Error 452?

  1. Read the enhanced code in the response. The third digit pinpoints the cause:
  2. 4.5.3 = too many recipients in one transaction.
  3. 4.3.1 = mail system full — the receiver's overall storage/queue is exhausted. This is out of your control as a sender; just retry.
  4. 4.2.2 = mailbox full — one specific recipient's mailbox quota is exceeded. That recipient (or their admin) must free space; retrying won't help until they do.
  5. Retry with exponential backoff. Since 452 is transient, don't drop the message — re-queue and retry over minutes to hours. If you control the MTA, ensure your queue retry schedule is enabled rather than failing fast.
  6. Split large recipient lists (for 4.5.3). Break a single message into batches under the server's per-transaction limit (e.g. ≤100 per transaction for Google Workspace SMTP / SMTP relay). Sending one message per recipient, or per small batch, sidesteps the cap entirely.
  7. Throttle your send rate. Bursts can momentarily exhaust a receiver's queue space. Add delay between transactions / connections.
  8. If you operate the receiving server (4.3.1). Free disk space on the mail spool, increase the partition/quota, or raise the relevant limit (e.g. Postfix smtpd_recipient_limit). RFC 5321 requires servers accept at least 100 recipients.
  9. Offload bulk/transactional sending to an API. Providers like Courier handle batching, per-recipient delivery, retry/backoff, and provider rate limits for you, so a single API call to many recipients won't trip a per-transaction 452.
S: 452 4.5.3 Too many recipients
C: (split the RCPT TO list into batches, then retry each batch)

FAQ

Common questions

No. 452 is a 4yz transient reply under RFC 5321 — the action failed only temporarily and the message should be re-queued and retried, not bounced as permanent.

One API, every provider

Stop debugging raw provider errors

Courier connects to your email, SMS, and push providers, handles retries and failover, and surfaces delivery errors in plain language.

Reply-code definitions per RFC 5321 §4.2.1 / §4.2.3; RFC 3463 §3.x (X.5.3, X.3.1). Last reviewed Jul 1, 2026. Courier is not affiliated with third-party providers; error behavior may vary by implementation.