A mail delivery failure — often titled “Mail delivery failed: returning message to sender” or sent from Mailer-Daemon — is an automatic notice that your email could not be delivered. It is not spam and it is not a virus. It is the mail system doing its job: telling you a message bounced instead of silently dropping it.
This guide covers every version of the question people ask about these messages: what they mean, how to read one, why you sometimes get them for mail you never sent, how to tell a real bounce from a fake one, and how to make them stop.
What the message actually means
When you send an email, your mail server hands it to the recipient’s mail server. If the recipient’s server refuses it — the address does not exist, the mailbox is full, the content looks like spam — it replies with a rejection code. Your server then generates a bounce message (a Non-Delivery Report) and sends it back so you know the email never arrived.
The key idea: the bounce is a symptom. The real reason is in the rejection code the recipient’s server sent back. Learn to find that code and you can solve almost any delivery problem.
How to read a bounce message
Most bounces look intimidating because of the technical headers. But you only need four things: who it was for, the status code, the reason text, and the original subject. Here is a typical bounce with the important parts marked.
Subject: Mail delivery failed: returning message to sender
This message was created automatically by the mail system.
A message that you sent could not be delivered. The following
address failed:
[email protected] ← who it was for
550 5.1.1 <[email protected]> ← status code
The email account that you tried to
reach does not exist. ← reason — read this!
----- Original message -----
Subject: Your March invoice ← your subject
Date: Tue, 15 Sep 2026 10:04:11 +0000
Start with the reason line. Nine times out of ten it says what went wrong in plain English — “account does not exist”, “mailbox full”, “rejected as spam”. The number beside it (like 550 5.1.1) confirms it.
Hard bounce vs soft bounce
Every bounce is one of two kinds, and the difference decides what you should do next.
Permanent Hard bounce
The address will never accept mail. Don’t retry.
- Address doesn’t exist / typo
- Domain doesn’t exist
- Recipient server blocked you
Do: fix the typo or remove the address. Repeated sends to dead addresses hurt your reputation.
Temporary Soft bounce
A passing problem. It may work if you try again later.
- Mailbox full
- Message too large
- Server down or greylisting
Do: usually nothing — servers auto-retry soft bounces for a day or two before giving up.
SMTP status codes cheat sheet
The three-digit code gives the category; the dotted “enhanced” code (like 5.1.1) gives the specific reason. The first digit is the fastest tell: 4xx = temporary (will retry), 5xx = permanent (will not).
| Code | Type | What it means | What to do |
|---|---|---|---|
550 5.1.1 |
Permanent | No such user / address doesn’t exist | Fix the typo or remove it |
550 5.7.1 |
Permanent | Rejected — spam, policy, or blocklist | Check SPF/DKIM & reputation |
552 5.2.2 |
Permanent | Mailbox full / over quota | Ask recipient to clear space |
552 5.3.4 |
Permanent | Message too large | Send a link, not an attachment |
421 4.7.0 |
Temporary | Service unavailable / rate-limited | Wait — it will auto-retry |
451 4.7.1 |
Temporary | Greylisted — try again shortly | Nothing; normal anti-spam step |
450 4.2.1 |
Temporary | Mailbox busy / temporarily blocked | Let the retry handle it |
Rule of thumb: a 5.7.x code almost always means an authentication or reputation problem on your side — see the fix below.
“Why am I getting failures for email I never sent?”
This is the most confusing case. You open your inbox and find bounces for emails you have no memory of sending, often to strangers. You are almost certainly seeing backscatter caused by email spoofing.
Spammers forge the “From” address on their emails. If they put your address in the From field and blast thousands of messages, every server that rejects one sends the bounce back to the forged sender — you. Your address was used as a disguise; your account was never touched.
Good news and bad news. Your account isn’t hacked — but your domain is being impersonated. The fix is a correct SPF, DKIM and DMARC setup, which tells the world’s mail servers to reject anything pretending to be you. A strict DMARC policy is the single best defence against backscatter.
Real vs fake failure messages
Scammers copy the look of a bounce to trick you into clicking. A fake “delivery failure” usually wants you to hit a button to “release” or “resend” a message — that button leads to a phishing page. Here is how to tell them apart.
Genuine bounce
mailer-daemon at your own providerFake / phishing
Never click a button inside a delivery-failure email. A real bounce has nothing to click. If in doubt, check the link’s domain — or just delete it and resend your email normally.
How to stop and prevent bounces
Most avoidable bounces come down to one thing: the receiving server is not sure your mail is really from you. Three DNS records fix that. Set all three and your legitimate mail sails through — while forgeries in your name get rejected.
The practical checklist
- Publish SPF, DKIM and DMARC for your sending domain — the biggest single win. See our SPF vs DKIM vs DMARC guide.
- Clean your list. Remove hard-bounced addresses immediately; never keep mailing them.
- Send from a real domain you control, not a free address forwarded through another service.
- Warm up new domains slowly and keep volume steady rather than spiky.
- Use a dedicated sending service that signs your mail, retries soft bounces, and shows every bounce with its reason code.
Gmail & Outlook specifics
Outlook — “Mail delivery failed: returning message to sender”
Outlook and Exchange show the reason under a heading like “Your message was not delivered” with a code such as 5.1.1 or 5.7.1. Click “More info on this error code”, but treat the reason line as the truth. For repeated 5.7.x rejections, the fix is your domain’s SPF/DKIM/DMARC, not Outlook settings.
Gmail — stopping delivery status notifications
You cannot switch off genuine failure notices from Gmail — they are generated by the receiving servers, not by Gmail. What you can do is stop the flood: if you are getting backscatter, tighten DMARC to p=reject; if a specific daemon keeps mailing you, create a filter for messages from mailer-daemon that do not match a message you sent. Never filter them blindly, though — you will miss real bounces.
Bottom line: don’t suppress bounce notifications — read them. A bounce you understand is a problem you can fix in minutes.
Frequently asked questions
Is a mail delivery failure message dangerous?
A genuine one is harmless — it’s just a report. The risk is fake ones designed to look like bounces so you’ll click a phishing link. Real bounces never ask you to log in or click a button.
Why did I get a failure for an email I never sent?
Because a spammer forged your address as the sender. The bounces from their rejected mail come back to you. It’s called backscatter, and a strict DMARC policy is the fix.
Should I resend a bounced email?
Only for a soft bounce (a 4xx code) — and usually the server retries for you. For a hard bounce (5xx), fix the address first; resending to a dead address just hurts your reputation.
What does “Mailer-Daemon” mean?
It’s the automated program on a mail server that generates delivery reports. Mail “from” Mailer-Daemon simply means the mail system, not a person, is writing to you.
How do I stop bounces for good?
Authenticate your domain (SPF + DKIM + DMARC), keep your address list clean, and send through a service that signs every message and reports bounces clearly.