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.

Ask an AI · tailored to your setup

Decode my bounce codes

I just looked at my bounce logs and I'm seeing enhanced status codes like 5.1.1, 5.7.1, and 4.2.2. Based on my sending setup, which of these codes should I prioritize acting on immediately, and what action should I take for each? Please rank them by urgency and give me the specific suppression or retry action each one calls for.

Edit the yellow boxes, then send to the AI of your choice.