A bounce message looks like alphabet soup, but it usually tells you exactly what went wrong. Here is how to read one and what to do next.
TL;DR
- A hard bounce is a permanent failure, usually a bad address, while a soft bounce is temporary, such as a full mailbox or a busy server.
- Bounce codes starting with 4.X.X signal a temporary problem and 5.X.X signals a permanent one, so the first digit tells you how to respond.
- Never resend to an address that hard bounced; repeated bounces to dead addresses damage your sender reputation.
- Some servers keep retrying a pending delivery for up to 72 hours before declaring a soft bounce.
- A flood of bounces for messages you never sent can mean a spammer forged your return address, not that your mail failed.
You hit send, and a while later a strange message lands in your inbox, full of numbers and technical language. Your email never arrived. That message is a bounce, and learning to read it is the difference between a two-minute fix and a slow slide into the spam folder.
What Actually Happens When an Email Bounces
Every email travels between mail servers using a set of agreed steps. At each step, the receiving server answers with a code. A code of 250 means the message was accepted. If the server cannot complete the delivery, it answers with an error code instead, and your mail server passes that news along to you as an automated message called a Non-Delivery Report, or NDR. Many people just call it a bounce-back.
Think of it like a letter coming back from the post office with a sticker explaining the problem. A good bounce message names the reason the mail failed. According to one breakdown of NDR contents, a bounce report can tell you the message’s unique ID, the time it bounced, the stage of the delivery process where it failed, and the error report from the receiving mail system. All of that is there to help you diagnose the problem.
Hard Bounces and Soft Bounces: The Key Difference
Bounces fall into two broad groups, and the difference matters for what you do next.
A hard bounce is a permanent failure. The address does not exist, the domain does not exist, or something else fundamental stops the message from ever arriving. There is no point resending to that address, because nothing has changed on the other end. The practical fix is to take the address off your list.
A soft bounce is a temporary failure. The recipient’s mailbox is full, their server is down or busy, or the message is too large to accept. The address itself may be perfectly fine, and the message could go through once the problem clears.
The line between the two is not always clean. In some cases, resending a message that hard bounced will succeed, and a soft bounce can still fail on the next attempt. Some systems also report a pending bounce, where a temporary technical issue keeps the message in retry status for up to 72 hours before it gets classified as a soft bounce. That is why the bounce code, not just the label, deserves your attention.
Tip
Remove addresses that hard bounce from your list immediately. Sending repeatedly to a dead address is one of the fastest ways to teach mailbox providers that your list is not well maintained.
How to Read a Bounce Message Without Jargon
The bounce code follows a simple pattern. Codes starting with 4.X.X indicate a temporary failure, the soft bounce case. Codes starting with 5.X.X indicate a permanent error, the hard bounce case. One digit does most of the work.
The code is usually followed by a plain-text explanation from the receiving server. Here is a real example of the format, using a Gmail rejection:
550 5.1.1 The mailbox you sent to could not be found. Look over the address once more for typos or extra spaces, then try sending again.
Breaking that down: 550 is a permanent failure, 5.1.1 points to a bad destination address, and the text tells you the mailbox does not exist. Not every server writes explanations that clearly, but read the human-readable part before you panic about the numbers.
If you send from a Gmail account, bounces arrive from a sender called Mail Delivery Subsystem, and the subject line usually reads “Delivery Status Notification (Failure)”. Open it, find the error text, and match it against the causes below.
The Most Common Causes, From Typos to Full Mailboxes
| Cause | Bounce type | What it means for you |
|---|---|---|
| Address does not exist, often a typo | Hard | Confirm the person’s current address before sending again |
| Mailbox is full | Soft | The recipient must clear storage before new mail can arrive |
| Recipient server busy or offline | Soft | Send again later; the address is probably fine |
| Message triggers spam filters | Hard or soft | Links, attachments or text set off the filters, or you mailed a large group at once |
| Sending limit exceeded | Soft | Temporary; you can send again within 24 hours |
| Message too large | Soft | Shrink the attachment or share it another way |
A few of these deserve extra explanation. Gmail applies a sending limit when one email goes to more than 500 recipients, and that error is temporary, so you can resend within 24 hours. Organizations using Gmail through work or school face different limits. Server problems that produce HELO or EHLO errors mean the recipient’s mail system is busy, offline or having a temporary technical issue; the advice is to resend later and double-check the address while you wait. A full mailbox is not your problem to solve. The recipient has to clear space before anything new can be delivered.
As an illustration, suppose you email a client at pat@example.com and get back a bounce reading “550 5.1.1 Requested action not taken: mailbox unavailable.” The leading 5 tells you this is permanent, so resending today will fail again. You check the address, notice you typed “pat@exmaple.com,” correct it, and the next message goes through. Same bounce code, same cause, and the readable text pointed the way.
What a Bounce Does to Your Sender Reputation
Mailbox providers keep a trust score, often called a sender reputation, for the domains and servers that send mail. Bounces feed directly into that score. Repeated sending to addresses that do not exist looks like poor list management or worse, and it pushes your future mail toward the junk folder or an outright rejection. How you handle bounces has a real effect on whether your next campaign arrives at all.
When bounces pile up, the consequences can extend beyond one mailbox provider. Blocklist operators track senders with bad practices, and landing on one of those lists means servers that consult the list will refuse your mail. Our guide to how email blacklists work, and how to get off one covers what a listing means and the removal process.
There is also an authentication angle. Many receiving servers verify that the return address on an incoming message actually exists in DNS before accepting it, a check that happens to stop typos and misconfigured mail programs early. Keeping your domain’s mail records accurate and published helps receiving servers trust your mail and reduces avoidable rejections on the receiving side.
When a Bounce Means Something Worse Than a Typo
Most bounces are mundane. Some are warnings worth taking seriously.
A valid address that hard bounces. If you know the address is real and current, a hard-looking bounce may actually be a strict security filter rejecting your message, not a dead mailbox. In that case, scrubbing the address from your list would be a mistake; the fix is on the content or sending side.
Bounces for mail you never sent. Spam programs commonly forge the return address on the messages they send out. If your inbox suddenly fills with delivery failures for messages you had nothing to do with, someone is probably spoofing your address as the fake return path. The bounces are headed to whoever’s address the spammer put in that field, and this time it is you. Verify your own account has not been compromised, since a hacked account that sends spam produces the same symptom. Our article on what to do if your email account was hacked walks through the cleanup.
Authentication failures. Receiving servers increasingly follow the DMARC policy a domain publishes, which can direct them to reject a message outright during the sending session if it fails the domain’s checks. Forwarding complicates this: a forwarded message can fail SPF checks because it now travels from the forwarder’s servers, and forwarding systems sometimes modify messages in ways that break DKIM signatures. If bounces concentrate on mail that passes through forwarders, the authentication chain, not your typing, is the suspect.
Fixing the Problem and Preventing the Next One
Start with the code. A 4.X.X code means wait and retry, checking whether the mailbox is full or the server is back. A 5.X.X code means stop sending to that address and confirm you have the right one.
Prevention is mostly list hygiene. Verify addresses at the point of signup so a typo never enters your records, and run your existing list through an email verification service to catch dead addresses before they bounce. Our article on what to look for in an email verification service explains how to evaluate one. If you are growing a customer list, the way you build it matters as much as how you clean it, and building an email list customers actually want addresses the practices that keep bounce rates low from the start.
Finally, watch your patterns. One bounce is a typo. A rising bounce rate on every send is a reputation problem forming, and the time to fix it is before a mailbox provider decides for you. Open your most recent bounce message, find the first number in the code, and let it tell you which fix to apply today.
Quick answers
Q: Can I just resend an email that bounced?
A: It depends on the bounce code. A 4.X.X code means a temporary problem, so retrying later often works, while a 5.X.X code is permanent and resending will fail again.
Q: Why did my email bounce when the address is correct?
A: A strict security filter can reject valid mail and look like a hard bounce, or your content may have tripped the recipient’s spam filters. Full mailboxes and busy servers also bounce correctly addressed mail.
Q: What does a 550 error mean?
A: A code starting with 550 is a permanent rejection. A common version is 550 5.1.1, which means the mailbox you tried to reach does not exist, often because of a typo or an address that has changed.
Q: Should I delete hard-bounced addresses from my list?
A: Yes. Removing them right away protects your sender reputation, since sending repeatedly to dead addresses is a signal that your list is poorly managed.
Email services change their settings and menus often. This guide is general information, not legal or professional security advice; check your provider’s help pages and official sources such as FTC.gov and CISA.gov.