Emails bounce for five reasons: the mailbox does not exist or was deleted, the domain has no mail server, the mailbox is full or the server is briefly unavailable, your sending reputation is blocked, or a catch-all server accepted the address then rejected the message. The first two are permanent (hard bounces); the rest can be temporary. The fix for almost all of them is to verify the list before sending, because on lists not checked in 90 days we typically find 14.5% invalid on non-freemail lists, and every one of those bounces.
A bounce message usually carries a code and a reason, but it is phrased for machines. Here is what each cause looks like and what it means for you.
| Cause | What the bounce says | Permanent? | What to do |
|---|---|---|---|
| Mailbox does not exist | "550 no such user", "recipient rejected" | Yes | Remove it; verification catches these before you send |
| Domain has no mail server | "no MX record", "domain not found" | Yes | Remove it; the whole domain cannot receive mail |
| Mailbox full or server busy | "mailbox full", "try again later", a 4xx code | No | Retry later; if it persists, treat as dead |
| Blocked by your reputation | "blocked", "spam", "poor reputation" | Until fixed | Lower your bounce and complaint rate, check SPF/DKIM/DMARC |
| Catch-all accepted then rejected | Accepted on send, bounced hours later | Varies | Verification flags catch-all so you send carefully |
The permanent kind is a hard bounce; the temporary kind is a soft bounce. The difference is explained in what is a hard bounce.
A few bounces do little. The damage is the spiral. Mailbox providers watch your bounce rate, and once it passes about 2%, the working limit most sending platforms enforce, they start sending your mail to spam, including the messages to good addresses. Now more "bounces" are really spam-foldering, your engagement drops, and your reputation falls further. A single bad list can start this.
This is why the honest answer to "why are my emails bouncing" is usually "the list, not the email". The content and the subject line do not cause hard bounces; dead addresses do.
Run it through verification and remove the invalid addresses. This alone stops the hard bounces, which are the ones that hurt reputation most. One address or a whole list.
Send to confirmed-valid addresses from your main domain. Hold catch-all and unknown out of cold volume, or send to them at low rate from a secondary domain.
If the bounce says "blocked" or "spam", your SPF, DKIM and DMARC may be the problem, not the address. Use the SPF checker and the deliverability guide.
Addresses decay. In our study only 19.2% were still valid when re-checked more than 90 days after the last check. Verify before every send to a list that is not brand new.
Usually because a batch of addresses went bad at once: an old list you re-used, a bought list, or data that has decayed since you last mailed it. Addresses decay at a steady rate, so a list that was clean months ago is not now. Verify it before the next send and the sudden bounces stop. If the bounces say "blocked" rather than "no such user", the cause is your sending reputation, not the addresses.
Five things: the mailbox does not exist, the domain has no mail server, the mailbox is full, your sending reputation is blocked, or a catch-all server accepted the address then rejected the message. The first two are permanent hard bounces and will never deliver; the others can be temporary. Verification catches the permanent ones before you send.
Verify the list and remove the invalid addresses before you send, which eliminates the hard bounces that damage your reputation most. Then keep catch-all and unknown addresses out of cold sends, check your SPF, DKIM and DMARC if the bounces mention blocking, and re-verify before every send because addresses decay.
The receiving server refused the message and returned it with a reason. A "550" or "no such user" means the mailbox does not exist. A "mailbox full" or a 4xx code is temporary. A "blocked" or "spam" message means your sending reputation, not the address, is the problem. The returned message always carries the reason, phrased for machines.
Yes, badly. Once your bounce rate passes about 2%, mailbox providers start filtering all your mail to spam, including messages to valid addresses. One bad list can drag down every campaign from the same domain, which is why removing invalid addresses before sending matters beyond just the bounces themselves.
Verify your list, remove the dead addresses, and send clean. 100 free checks a month, invalid and catch-all labelled, unknowns never charged.
Ayoub built BounceZero's 5-stage validation pipeline, its dedicated sending infrastructure, and the high-availability database behind every verification. Previously built high-volume email delivery systems. Trained at 1337 Benguerir (École 42 network, 2019). Open-source: bgp_analyzer.
Provider behaviour, DNS setup, warm-up, and inbox placement
How mail routing works and why MX lookups matter for verification
Pristine vs recycled traps, how they wreck reputation, and how to avoid them
Sender causes you can fix
SPF, DKIM, DMARC, reputation, and inbox placement
Authentication, list hygiene, IP warmup, ISP monitoring
Gmail deliverability guide: meet Google\
Continue through related topics