Skip to content
← All articles

Why Emails Bounce: Codes and Causes

Short answer. An email bounces when the receiving server refuses to deliver it. Causes split into permanent (5xx: no such address, dead domain, reputation block, DMARC failure) and temporary (4xx: full mailbox, greylisting, throttling). To fix bounces, read the extended SMTP code, repair SPF/DKIM/DMARC authentication, and watch your own mail server's availability.

Permanent causes (5xx)

  • Address does not exist550 5.1.1, a typo or a departed employee;
  • Domain accepts no mail — no MX record or the server is down;
  • Reputation block550 5.7.1, your IP/domain is blocklisted;
  • Authentication failure — the message failed SPF/DKIM under a DMARC reject policy.

Temporary causes (4xx)

  • Mailbox full452 4.2.2;
  • Greylisting450 4.2.1, a temporary refusal to filter bots;
  • Throttling421 4.7.0, sending too fast;
  • Network/server error451 4.3.0.
A bounce is not a glitch, it is a message. The server states the reason in the code; the sender's job is to read and fix it, not to retry blindly.

Decoding the codes

CodeClassCause
550 5.1.1PermanentRecipient not found
550 5.7.1PermanentRejected by policy / block
554 5.7.1PermanentMessage flagged as spam
421 4.7.0TemporaryThrottling / server busy
450 4.2.1TemporaryGreylisting
452 4.2.2TemporaryMailbox full

What a report looks like

Final-Recipient: rfc822; user@example.com
Action: failed
Status: 5.1.1
Diagnostic-Code: smtp; 550 5.1.1 User unknown in virtual mailbox table

How to fix

  1. Read the extended code (5.1.1, 5.7.1, etc.).
  2. 5.1.1 → clean the list, remove non-existent addresses.
  3. 5.7.1 → check IP/domain reputation and SPF/DKIM/DMARC.
  4. 4.x.x → set up retries and lower the send rate.

A frequent invisible cause is alignment failure under a p=reject policy. The message technically reached the server but was rejected by DMARC. Verify records before launching a campaign.

Where enterno helps

/email-check parses SPF, DKIM and DMARC and shows whether your config will bounce mail with 5.7.1. MX-lookup confirms the recipient domain even has a working MX. And /monitors watches your mail server (ports 25/465/587, blacklist) and alerts via Telegram/Slack/email/webhook on outages — a classic 4xx cause. enterno does not send your mail.

FAQ

What is the difference between a bounce and the spam folder?

A bounce is an explicit refusal with a code. Landing in spam means the message was accepted but hidden from the user.

Why did a message leave but bounce an hour later?

That is an asynchronous bounce: the server accepted it, then could not deliver onward and sent a DSN.

How do I know I am blocklisted?

A 550 5.7.1 code and a blocklist mention in the diagnostic; check your IP reputation.

Can I eliminate bounces entirely?

No, but you can realistically keep hard bounces under 2% with a clean list and correct authentication.

Next: master hard vs soft bounce handling, check authentication and set up server monitoring.

Check your website right now

Check your site →
More articles: Инфраструктура
Инфраструктура
Transactional Email Deliverability
23.06.2026 · 34 views
Инфраструктура
Email Bounce Handling: Hard vs Soft
23.06.2026 · 25 views
Инфраструктура
Warming Up a Sending Domain
23.06.2026 · 34 views