Deliverability

Email bounce codes explained: hard bounces, soft bounces, and what to do about each

When an email bounces, the receiving server sends back a code that tells you exactly why. Read it correctly and you know whether the problem is a dead address, a full mailbox, or your own sending configuration. Read it wrong and you keep sending to a wall.

See what is bouncing on your domain right now

The free InboxProof audit checks your SPF, DKIM, DMARC, PTR and IP reputation and flags the configuration problems that cause 5xx rejections. No signup.

Audit my domain

What is an email bounce?

A bounce is the receiving mail server's way of saying "I will not accept this message." Every bounce carries a three-digit SMTP status code (like the ones in our SMTP error code guide) plus a short human-readable reason. The first digit tells you the most important thing:

That single distinction drives everything else: how you clean your list, how you handle retries, and whether your sender reputation is at risk.

Hard bounces (5xx): stop sending to these

A hard bounce means the address or the request will never succeed. Keep sending to a hard-bounced address and you teach the receiving provider that your list is dirty, which drags your entire domain toward the spam folder.

CodeMeaningFix
550 / 5.1.1User unknown / mailbox does not existRemove the address from your list permanently.
551 / 5.1.2User is not a local recipientWrong domain in the address. Verify and remove.
552 / 5.2.2Mailbox over quota (sometimes)Retry later; if it persists, treat as hard.
553 / 5.1.8Address rejected / syntax errorFix the malformed address; remove if unfixable.
554 / 5.7.1Relay denied / policy rejectionUsually your SPF/DKIM/DMARC or IP reputation. Run an audit.
550 5.7.26Gmail: bulk sender rules not metSee our 550 5.7.26 guide.

Soft bounces (4xx): retry, then re-evaluate

A soft bounce is temporary. The right response is to retry on a schedule. The wrong response is to give up immediately (you lose a real customer) or to hammer the address (you look like spam).

CodeMeaningFix
450 / 4.7.0Temporary failure / try again laterRetry with backoff (1h, 6h, 24h).
451 / 4.3.0Mail server busy / DNS timeoutRetry later. Check your own DNS health.
452 / 4.2.1 / 4.2.2Mailbox full / over quotaRetry daily for a few days, then pause.
421Server rate-limited youSlow your send rate; check warm-up volume.

Bounce-rate thresholds: when to stop

Receiving providers and ESPs watch your bounce rate (bounces ÷ sends) closely. The commonly cited guardrails:

Most of the time a rising bounce rate is not a "bad list" problem. It is an authentication or reputation problem on your sending domain. That is the part you can fix in an afternoon.

Find the cause behind your bounces

Run a free audit on your sending domain and see which records are causing 5xx rejections.

Open the free audit

Want this checked automatically every day? Inboxproof Pro monitors your domain around the clock and alerts you the moment a record breaks or an IP gets listed. See pricing →

Related: SMTP error codes · Cold email deliverability · Why email lands in spam · Gmail 550 5.7.26