What is the difference between a 2xx, 4xx, and 5xx SMTP response?
Still have a question, spotted an error, or have a better explanation or a source we should cite?
When your mail server sends an email, the receiving server responds with a three-digit code. That code tells you whether the message made it through, got temporarily held up, or failed permanently. These codes are grouped by their first digit: 2xx means success, 4xx means try again later, and 5xx means it's not happening.
2xx codes: success. Your email was accepted. The most common is 250 OK. It doesn't guarantee inbox placement (spam filters still run after acceptance), but it means the receiving server took delivery and will attempt to deliver it.
4xx codes: soft bounce. Something went wrong, but it's temporary. Common examples:
421 Service not available(the server's too busy right now)450 Mailbox unavailable(the recipient's inbox is full or temporarily offline)451 Local error in processing(the server had an internal hiccup)452 Insufficient system storage(the server ran out of disk space)
Your ESP will automatically retry 4xx errors over several hours or days. If the issue clears up, the email goes through. If it doesn't, the bounce eventually becomes permanent.
5xx codes: hard bounce. Permanent failure. The message is never getting delivered. Common examples:
550 Mailbox not found(the email address doesn't exist)551 User not local(the domain doesn't handle mail for this address)552 Mailbox full(inbox is at capacity and not accepting new mail)553 Mailbox name not allowed(the address is invalid or blocked)554 Transaction failed(generic rejection, often spam-related)
5xx bounces should be removed from your list immediately. Sending to them repeatedly tanks your sender reputation.
Why this matters: mailbox providers watch your bounce rates. High hard bounce rates signal that you're sending to stale lists or purchased addresses, which damages your reputation and hurts future deliverability. Soft bounces are less damaging but still count against you if they don't resolve. Most ESPs (Mailchimp, Brevo, Postmark) handle this automatically by suppressing addresses that hard bounce and retrying soft bounces on a schedule.
Now if you're seeing a spike in 5xx bounces, it usually means your list has aged or you added unverified addresses. Run your list through validation before your next send. If you're seeing a lot of 4xx bounces, it's often a sign of rate limiting or reputation issues (the receiving server doesn't trust you yet). Either way, don't just keep hammering the same addresses hoping they'll work eventually.
And one One more thing: some ESPs and analytics platforms group these into "soft bounce" (4xx) and "hard bounce" (5xx) categories. That's shorthand for temporary vs. permanent, and now you know what's underneath.
Contributors
Who worked on this answer
Every name links to their profile. Every company links to their site. Real people, real accountability.