bounce codeswhat the server actually saidopen source · MIT
reference
Not every bounce means the address is dead.
A 5xx code looks permanent, so most tools suppress on all of them. But 5.7.1 is policy, 5.1.4 is ambiguity, and 5.2.2 means the mailbox is full, which proves it exists. Suppressing on those throws away contacts you could have reached.
These mean the mailbox does not exist
550 5.1.1
User unknown
550 5.1.10
Recipient not found by SMTP address lookup
550 5.2.1
Mailbox disabled
550 5.1.2
Domain not found
501 5.1.3
Bad address syntax
These do not
Every code below is about the server, the message or the sender. Suppressing an address on any of them removes a contact that was reachable.
550 5.7.1
Policy rejection, not a dead mailbox
550 5.4.1
Recipient address rejected: access denied
552 5.2.2
Mailbox full
550 5.7.26
Unauthenticated email is not accepted
550 5.7.509
Message not accepted: DMARC failure
554 5.7.1
Message rejected as spam
421 4.7.0
Temporary rejection, try later
451 4.4.1
Connection timed out
550 5.1.8
Bad sender address
550 5.7.606
Access denied, banned sending IP
450 4.2.1
Mailbox temporarily unavailable
Catch them before the send
Paste a list and see which addresses sit on domains that accept no mail at all, which are one character away from a real inbox, and which are on catch-all domains where nothing can verify them. Free, no signup, nothing stored.
Check a list →