How can spam filters reject before mailbox creation?

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

You send an email, get a 550 rejection back, and assume the address doesn't exist. Makes sense, right? Not always. Some mail servers check for spam long before they bother verifying whether the recipient's mailbox is even real.

Here's how the SMTP handshake normally works. Your sending server connects, says hello, names the sender, names the recipient, and then tries to deliver the message. The receiving server can reject at any of those steps. The key detail is that many servers are configured to run spam checks at the connection stage, before they ever look up whether the recipient address exists.

So if your IP is on a blocklist, your domain has a poor reputation, your SPF or DKIM fails, or you've hit a rate limit, the server can throw back a 550 error without ever touching the recipient database. The door slams shut before anyone checks who lives there.

Why this matters for your bounce handling

The problem is that a 550 response looks identical whether it means "that user doesn't exist" or "we blocked you before we even got that far." If your system auto-suppresses addresses on any 5xx code, you could be killing perfectly valid contacts just because your IP had a bad reputation moment. That's a real data-quality trap.

The full bounce message text usually tells the story. A response like 550 5.7.1 Service unavailable; client host blocked is a reputation block. A response like 550 5.1.1 The email account that you tried to reach does not exist is a genuine hard bounce on an invalid address. Same code, completely different meaning.

The triggers that cause pre-mailbox rejection are worth knowing:

  • Your sending IP or domain is listed on a blocklist (check Spamhaus or run our free blocklist checker)
  • Authentication fails at the connection stage (SPF misalignment, missing DKIM signature)
  • Your sending rate exceeded the receiving server's threshold
  • Content scoring triggers on headers before the full message body is even transmitted

None of these rejections tell you anything about whether the address is valid. If your bounce processing treats them all as "invalid address," you're suppressing contacts based on your own temporary reputation issues, not their actual inbox status.

What to do with these bounces

Read the full SMTP response, not just the code. Most ESPs surface this in your bounce logs. If the language mentions "blocked," "policy," "rejected," or "reputation," that's a sending-side problem you can fix. If it says "user unknown" or "does not exist," that's the address that needs to come off your list.

If you're suddenly seeing a spike in 5xx rejections across multiple addresses at the same domain, that's almost always a reputation or blocklist issue, not a list quality issue. It warrants investigation before you start suppressing anyone.

Stuck decoding a pile of bounce messages? Our SOS hotline is free and we're happy to help you work through what's actually going on.

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 your 550 bounces

I'm getting 550 bounce codes and I'm not sure if they mean invalid addresses or if my sending IP is blocked. Here's what I know about my setup: paste your bounce message text, sending domain, and ESP name. Can you help me figure out whether these are list-quality issues or reputation issues, and tell me which addresses I should actually suppress?

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