How can error codes indicate throttling vs policy rejection?

Still have a question, spotted an error, or have a better explanation or a source we should cite?

You get a bounce back from a receiving server, and now you're staring at a string of numbers. Is that a "slow down" or a "go away"? The code itself tells you most of what you need to know, but the message text seals the deal.

Throttling looks like a 4xx code. Think 421, 450, or 451. The server is saying it got your message, doesn't want to deal with it right now, and your sending software should try again later. You'll often see phrases like "rate limit exceeded," "too many connections," or "try again later" in the message. This is temporary. It's not a rejection, it's a queue.

Policy rejection looks like a 5xx code. Think 550, 554, or 5.7.1. The server isn't just busy. It's made a decision. Phrases like "blocked," "policy violation," "spam detected," or "rejected" show up here. Retrying won't help. The server has decided your message isn't welcome, and it won't change its mind until something about your sending changes.

The response required is genuinely different for each. Throttling calls for patience and pacing. Policy rejection calls for investigation, whether that's checking your authentication setup, auditing your list, or checking if your domain or IP has landed on a blocklist.

The tricky part is the grey zone. Some servers use 4xx codes for reputation-based holds that don't resolve no matter how many times you retry (because the real issue is your sender reputation, not their queue). And some policy problems show up as temporary blocks at first, before graduating to a full 5xx. When in doubt, read the full message text, not just the code. "421 too many connections" is throttling. "421 message rejected due to policy" is a different animal entirely. (Yes, policy rejections can wear a 4xx disguise.)

Now a quick rule of thumb: 4xx with rate or connection language means slow down and retry. 5xx with blocked or policy language means fix something first, then try again. And any code that mentions "spam" or "reputation" is telling you there's deeper work to do regardless of whether it's a 4 or a 5.

If you're seeing a pattern of 4xx codes that keep repeating without resolving, that's worth investigating the same way you'd treat a policy block. The code is temporary. The problem might not be.

Want to dig into what specific codes mean? Check our guides on 4xx temporary failures and 5xx permanent failures for the full breakdown. Or if something is bouncing right now and you're not sure why, our 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

Paste your bounce codes and message text here

I'm getting SMTP bounce codes back from a recipient server. Some are 4xx codes like 421 or 451, others are 5xx codes like 550 or 554. Help me figure out which ones mean the server is throttling my sending and which ones mean my email is being rejected on policy grounds. For each scenario, tell me what I should do next, what message text to look for, and whether retrying will help.

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