← Back to blog

Email Bounce Codes Explained: What Each Error Means

Hard vs. soft bounces, the most common 5xx and 4xx codes, what happens to CC recipients, and how bounce rate affects sender reputation.

Updated October 22, 2026
Email Bounce Codes Explained: What Each Error Means

Email Bounce Codes Explained: What Each Error Means and How to Fix It

A bounce is the mail system's way of telling you a message was not delivered. Understanding the code tells you whether the problem is permanent, temporary, your fault, or theirs — and whether sending again will help.

Hard bounces vs. soft bounces

Hard bounce (5xx): permanent failure. The server is definitively refusing the message. Sending again will produce the same result. Remove the address from your list immediately.

Soft bounce (4xx): temporary failure. The server wants to accept the message but can't right now. The sending server will retry automatically for 24–72 hours. If retries continue to fail, it eventually gives up and reports a hard bounce.

Rovela automatically adds hard-bounced addresses to the suppression list and stops sending to them. Repeated sends to invalid addresses are one of the fastest ways to damage sender reputation.

The most common bounce codes

550 — Mailbox unavailable

The most common hard bounce. Typical subtypes:

  • 550 5.1.1: The recipient address does not exist. Verify the spelling; if it was a user-submitted address, add double opt-in or an address verification step at sign-up
  • 550 5.1.2: Bad destination mailbox address — the domain part is syntactically wrong
  • 550 5.7.1: Policy rejection. The receiving server's SPF, DKIM, or DMARC check failed, or the sending IP is on a blocklist. This is your problem to fix, not the recipient's

551 — User not local

The server doesn't host this address and won't forward it. Treat it like a 550.

552 — Message too large

The message exceeded the recipient server's size limit. Reduce attachment size or use a link to a file hosting service instead of attaching directly.

553 — Invalid mailbox syntax

The address format is malformed — for example user@ with no domain, or double dots. Usually indicates a bug in how you're collecting or storing addresses.

421 — Service not available, try again

The receiving server is temporarily unable to accept connections. The sending server will retry automatically. Not your fault; wait.

450 — Requested mail action not taken

The mailbox was unavailable at this moment (possibly locked by another operation). Retries usually succeed within a few hours.

451 — Local error in processing

A server-side error on the recipient's end. Nothing you can do; retries may eventually work.

452 — Insufficient system storage

The recipient server is full, or the recipient's mailbox quota is exceeded. A soft bounce; may resolve when the recipient clears storage.

What the bounce notice tells you

Bounce notices (Delivery Status Notifications, or DSNs) come back to the envelope sender — the Return-Path address, not the From address. With Rovela, bounce notices are routed to bounces.rovela.dev and processed automatically; you don't see them individually, but their outcome shows up in the event log for each sent message.

The Diagnostic-Code field in the bounce contains the raw server response. If a bounce looks unexpected, that field tells you exactly what the receiving server said.

Does the CC still receive the message if it bounces?

Yes — CC recipients are independent deliveries. If a message is sent to alice@example.com (bounces) and bob@example.com (delivers), Bob receives it normally. The bounce for Alice does not affect Bob's copy.

Did the recipient get my message if it bounced?

No. A hard bounce means the message was never accepted by the receiving server. A soft bounce means delivery failed temporarily; if retries succeed before the expiry window, the message eventually arrives. If all retries fail and the sender gives up, the message is lost.

Sender reputation and bounces

A high bounce rate signals to inbox providers that you're sending to addresses you haven't verified. Gmail and Yahoo watch this closely:

  • Bounce rates above 2% trigger deliverability problems
  • Hard bounces should stay below 0.5% of total sends
  • Spikes — even brief ones — leave a mark that takes weeks to recover from

The practical fix: never send to a list you haven't cleaned in over six months. Use Rovela's suppression list API to check addresses before adding them to any campaign.

What "postmaster said your message was bounced" means

When a bounce message comes from postmaster@ a domain, it is an automated notification from that domain's mail system. The body will contain the original bounce code and usually the recipient address that failed. Read the Diagnostic-Code field — it contains the specific 5xx or 4xx code that explains the failure.