What a bounce is
When you send an email, your mail server hands it to the recipient's mail server. That server can refuse it. Sometimes it refuses on the spot, with a three-digit reply code and a sentence. Sometimes it accepts the message and sends a notice back minutes later saying it could not be delivered. Either way the message did not arrive, and that is a bounce.
Hard bounces: the address will never work
- The mailbox does not exist. The person left the company or closed the account, or the name was typed wrongly.
- The domain does not exist. A slip like
gmail.con, or a company that is gone. - The domain has no mail server. It has a website and nothing that takes mail, or its mail server's name leads nowhere.
Sending again will get the same answer. Take the address off your list the first time.
Soft bounces: not now
- The mailbox is full. It exists, and it has no room. It may work again once the owner clears it, or it may have been abandoned.
- The server is busy or down. A proper sender waits and tries again.
- Greylisting. Some servers tell a sender they have not met before to come back in a few minutes. Real mail servers do; much spam software does not. The second try goes through.
- You sent too much, too fast. The provider is slowing you down.
- The message is too large.
There is a third kind that looks like a bounce and is neither: the server refuses you. Your sending address has a poor reputation, or the content looked like spam. The recipient's address is fine; the cause is on your side and has to be fixed there.
Reading the reply codes
The first digit says most of it: a reply that starts with 4 is temporary, one that starts with 5 is permanent. Many servers add a second, dotted code with more detail, where the middle number says what the reply is about: 1 for the address, 2 for the mailbox, 7 for security and policy.
| Reply | What it means | Kind |
|---|---|---|
250 | Accepted | Delivered to the server |
421 450 451 | Not now: busy, greylisted, or slowing you down | Soft |
452 4.2.2 552 5.2.2 | Mailbox full | Soft |
550 5.1.1 | No such mailbox | Hard |
550 5.4.1 | Recipient rejected: how Microsoft 365 says no such mailbox | Hard |
554 5.7.1 | Refused for policy or reputation | About the sender |
The sentence after the code matters as much as the number. Mail servers word the same refusal in dozens of ways, and a few use a "no such mailbox" code for something else entirely. That is a large part of why checking addresses is harder than it looks.
Why bounces matter
Mailbox providers watch how much of your mail is addressed to people who do not exist. A high share looks like a list that was bought or scraped, and the provider answers by slowing your mail down, sending it to spam, or blocking you. That hurts the messages to your real customers too.
A common rule of thumb is to keep bounces under 2% of what you send. A list that has not been mailed for a year can easily be several times that.
How to prevent them
- Check the list before you send. A verifier finds the hard bounces without sending anything. See how email verification works.
- Remove hard bounces at once, and keep them from coming back with the next import.
- Give soft bounces a few chances, then remove them as well.
- Confirm new sign-ups. An address whose owner had to click a link in a confirmation email is one that works.
- Re-check a list that has been sitting. People change jobs and close accounts.
The full routine is in how to clean an email list.