5.2.2
SMTPERRORNotableMailbox StatusHIGH confidence

Mailbox full — over storage quota

Production Risk

Low for individual senders; if widespread it may indicate a systemic issue with the receiving domain.

What this means

The recipient's mailbox has exceeded its storage quota and cannot accept new messages until the user frees up space or the quota is increased.

Why it happens
  1. 1The recipient has not cleared their inbox and the mailbox storage limit has been reached.
  2. 2A large attachment flooded the remaining quota.
  3. 3The mail server enforces a per-user quota that has not been adjusted.
How to reproduce

Delivering a message to a mailbox that is at or over its storage limit.

trigger — this will error
trigger — this will error
RCPT TO:<full.user@example.com>
# Server returns:
452 4.2.2 Mailbox full
# or permanently:
550 5.2.2 Mailbox full

expected output

452 4.2.2 or 550 5.2.2 ...

Fix

Retry with exponential back-off for 4.2.2; suppress for 5.2.2

WHEN Receiving a bounce for a full mailbox

Retry with exponential back-off for 4.2.2; suppress for 5.2.2
# For 4.x.x (transient): retry after delay
if (enhancedCode === '4.2.2') {
  scheduleRetry(email, delayHours: 24);
}
# For 5.x.x (permanent): suppress
if (enhancedCode === '5.2.2') {
  addToSuppressionList(email, reason: 'mailbox_full_permanent');
}

Why this works

A transient 452 4.2.2 can resolve itself if the user clears space; a 550 5.2.2 indicates a permanent quota exceeded state.

What not to do

Immediately treat 4.2.2 as a hard bounce

4.x.x codes are transient — the mailbox may clear space and accept mail again.

Sources
Official documentation ↗

RFC 3463 — Enhanced Mail System Status Codes

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All SMTP errors