What’s the difference between hard, soft, and transient bounces?
Still have a question, spotted an error, or have a better explanation or a source we should cite?
Bounces are the SMTP server's way of telling you delivery failed. The reply code tells you whether the failure is permanent or temporary, and that distinction decides what you do with the address.
Hard bounce: permanent failure (5xx)
A hard bounce comes back with a 5xx SMTP reply code. The receiving server is telling you the message will never be delivered to this address, no matter how many times you retry. Common examples:
550 5.1.1 User unknown- the mailbox does not exist550 5.1.1 The email account that you tried to reach does not exist- Gmail's version of the same thing551 User not local- the domain does not handle mail for that user553 Mailbox name not allowed- the address format is rejected outright
The full list of reply codes lives in RFC 5321 section 4.2, and the extended status codes (the 5.1.1 part) are defined in RFC 3463.
What to do: suppress the address immediately. Do not retry. Do not send to it again next month thinking the mailbox might have come back. Keeping hard bounces on your list and continuing to mail them is one of the fastest ways to wreck your sender reputation. Gmail's own sender guidelines say senders must keep bounce rates low, and Yahoo and Microsoft expect the same.
Note: the original version of this answer called hard bounces a "permerror." That is wrong. Permerror is a DMARC/SPF result meaning a DNS lookup or syntax issue broke authentication. It has nothing to do with SMTP bounces. Keep the two vocabularies separate.
Soft bounce: temporary failure (4xx)
A soft bounce comes back with a 4xx reply code. The server is telling you something is wrong right now, but the condition might clear. Examples:
421 Service not available- the server is overloaded or restarting450 Mailbox busy- the mailbox is locked, try again451 Local error in processing- something broke on their end452 Insufficient system storageor452 Mailbox full- the user's inbox is full or the server is out of disk421 4.7.0 Try again later- reputation throttling, very common at Gmail and Microsoft
What to do: your MTA (mail transfer agent, the server doing the sending) should retry on its own. Most retry for 24 to 72 hours with backoff. If the address keeps soft-bouncing for several consecutive sends across days or weeks, treat it as dead and suppress. A mailbox that has been full for a month is functionally abandoned.
Transient bounce: same thing, different name
"Transient" is just another word for soft bounce. It shows up in some ESP dashboards and in older documentation. The point of the word is to remind you the condition is temporary and the sending server should retry. There is no third category here.
The operator rules
This is where most senders mess up:
- Suppress every hard bounce on the first occurrence. Not after three. Not after one more try "just in case." Once.
- Set a soft-bounce threshold. Common rule: 3 to 5 consecutive soft bounces across separate sends = suppress. Some ESPs do this automatically, many do not. Check yours.
- Watch your bounce rate as a whole. Healthy is under 2%. Over 5% and mailbox providers will start throttling or blocking you. Microsoft is especially unforgiving here.
- Read the actual reply text, not just the code. A 550 saying "this IP is blocked" is a reputation problem, not a dead address. Suppressing the recipient does not fix it. See how ISPs detect poor hygiene for what they are watching.
- Track bounce sources. If one acquisition channel produces 10x the bounce rate of others, that source is feeding you garbage. See tracking acquisition source quality.
The broader point: bounce handling is half of list hygiene. The other half is removing addresses that accept mail but never engage. For the full picture, start with what is email list hygiene and why list hygiene matters for deliverability.
Contributors
Who worked on this answer
Every name links to their profile. Every company links to their site. Real people, real accountability.