What does “enhanced status code” mean?
Still have a question, spotted an error, or have a better explanation or a source we should cite?
You're staring at a bounce log and you see something like 5.1.1 or 4.2.2 next to a failed message. That's an enhanced status code, and it's actually useful once you know how to read it.
Here's the short version. Basic SMTP codes give you a three-digit number like 250, 450, or 550. Those tell you whether a message was accepted, temporarily failed, or permanently rejected. Helpful, but not very specific. A 550 just means "permanent failure." It doesn't tell you why.
Enhanced status codes add that detail. They follow the format X.Y.Z, where the first digit matches the SMTP class (5 means permanent failure, 4 means temporary, 2 means success), and the next two parts get more specific about the cause. A handful you'll see regularly:
- 5.1.1. The recipient address doesn't exist. Hard bounce, suppress this address.
- 5.1.2. Bad destination domain. The domain itself isn't resolving.
- 5.7.1. Policy rejection. The receiving server refused delivery based on a rule (authentication failure, blocklisting, content policy).
- 4.2.2. Mailbox full. Temporary failure, worth retrying for a bit.
- 4.4.7. Message expired waiting for delivery. The retry window closed before it got through.
Not every mail server includes enhanced codes. When they're missing, you fall back to the three-digit SMTP code. But when they are present, they help you sort soft bounces from hard bounces with a lot more confidence, which matters for how quickly you suppress an address.
If your bounce logs feel like alphabet soup right now, our free Email Header Analyzer can help decode what's actually in a message's delivery trail. Or if something's actively breaking, the SOS hotline is free.
Contributors
Who worked on this answer
Every name links to their profile. Every company links to their site. Real people, real accountability.