/ Learn — List hygiene
Email bounce handling: a bounce is a message about your list.
A bounce is not just a failed delivery — it is the receiving server telling you something about your list, and how you respond decides your reputation. This guide covers the hard-versus-soft distinction that governs everything, the right action for each kind, why mishandling bounces wrecks reputation, and how to process them and run a suppression list correctly.
/ In short
A bounce is the receiving server rejecting a message, and it comes in two kinds. A hard bounce is a permanent failure (the address does not exist, usually a 5xx code) and must be suppressed immediately and never retried. A soft bounce is temporary (a full mailbox or busy server, usually 4xx) and should be retried, then suppressed only if it persists. The distinction governs everything, because the actions are opposite. Mishandling matters: retrying hard bounces drives up your bounce rate and tells providers you do not maintain your list, damaging reputation. The suppression list is the mechanism that makes this durable — suppressed addresses are excluded from every future send.
/ 01 — A message, not just a failure
A bounce is the receiving server telling you something. The question is whether you listen.
It is easy to read a bounce as a simple miss — a message that did not get through, to be shrugged off or blindly retried. That reading is what gets senders into trouble. A bounce is a reply: the receiving server is telling you, in a structured status code, why it would not accept your message. Treated as information, that reply is exactly what you need to keep your list clean and your reputation intact. Ignored, or misread, it becomes the source of the very reputation damage that lands your mail in spam.
The reframe that matters is that bounces are about your list, not just about a single delivery. Each one is the receiving infrastructure flagging an address that did not work and telling you, more or less explicitly, whether the problem is permanent or temporary. A sender who processes that feedback keeps their list aligned with reality — dead addresses removed, temporary failures retried. A sender who does not process it keeps mailing addresses the internet has already told them are dead, which is precisely the behavior mailbox providers punish.
This is why bounce handling is not a janitorial afterthought but a core part of deliverability. Everyone gets bounces; addresses go bad, mailboxes fill, servers hiccup. The difference between a strong sender and a weak one is not the absence of bounces but how they are processed — whether the structured feedback the internet hands you on every send is acted on correctly, or thrown away. The rest of this guide is about reading that feedback right and responding to each kind of bounce the way it requires. There is something almost generous about it, once you see it that way: the receiving infrastructure is doing your list hygiene for you, flagging exactly which addresses have gone bad and roughly why, on every single send. All you have to do is act on what it tells you — and the senders who struggle are mostly the ones who treat that free, continuous audit as noise to be ignored rather than guidance to be followed.
/ 02 — Hard versus soft
One distinction governs everything: is the failure permanent or temporary?
Almost all of bounce handling reduces to one question, asked of every bounce: is this failure permanent or temporary? A hard bounce is permanent — the address does not exist, the domain is invalid, or the server has flatly and lastingly rejected it, typically announced by a 5xx SMTP status code. There is no future in which retrying helps, because the address is genuinely a dead end. The correct response is immediate and absolute: suppress it, and never send to it again.
A soft bounce is temporary — a mailbox that is full right now, a server that is briefly down, a message rejected as too large, or greylisting asking you to try again later, typically a 4xx code. Here the address is probably fine and the failure is a passing condition, so the correct response is the opposite: retry over a sensible window, give the temporary problem time to clear, and only give up if it stubbornly persists. Suppressing a soft bounce too eagerly throws away a perfectly reachable recipient.
Because the two demand opposite actions — suppress now versus retry and wait — getting the classification right is the whole game. The status code is your primary signal, with 5xx pointing to permanent and 4xx to temporary, though the reason text matters too, and good bounce processing reads both. There is also a bridge case worth naming: a soft bounce that recurs across many sends stops being temporary in any meaningful sense and should be escalated to suppression, a persistent failure dressed in a temporary code. Get the permanent-versus-temporary call right and the right action follows automatically.
/ 03 — Classify, then act
The same bounce notification, two opposite correct responses.
/ 04 — The bounce triage
A bounce came back. What do you do?
—
—Correct action
—
Cost of mishandling
—
/ 05 — Why mishandling wrecks reputation
Every hard bounce you retry is a statement about how you run your list.
The reason bounce handling sits so close to reputation is that bounce rate is one of the heaviest signals mailbox providers read. A sender mailing many invalid addresses looks, to a provider, indistinguishable from someone using a purchased or unmaintained list — the signature of a spammer. So a bounce rate that drifts past the low single digits means more than a few failed messages; it marks you as careless, and that judgment attaches to your whole sending reputation, pulling even your good mail toward spam.
Retrying hard bounces is the purest way to manufacture that problem. Each retry to a permanently dead address is a message you know will fail, sent anyway, adding to your bounce rate for no possible benefit — there is no scenario where it delivers. Worse, it is exactly the pattern providers watch for: continued sending to addresses that have already returned permanent failures is a hallmark of a sender who does not, or cannot, maintain their list. You are doing worse than wasting sends; you are actively broadcasting carelessness to the systems that decide your placement.
This is what makes prompt, correct bounce handling a reputation protector rather than mere tidiness. Suppressing hard bounces immediately keeps the permanently-dead addresses out of your future sends, holding your bounce rate down where it reads as a well-run sender. Retrying soft bounces sensibly keeps you from discarding reachable recipients. The discipline costs little and runs mostly automatically, and what it buys is the difference between a bounce rate that signals competence and one that signals neglect — a difference your overall deliverability is acutely sensitive to. And because the signal is cumulative, the damage compounds quietly: a few retried hard bounces per send is barely visible on any single campaign, yet sustained over months it builds exactly the track record of careless sending that providers downgrade. The senders who get bitten rarely make one dramatic mistake; they make the same small one repeatedly, because nothing was set up to suppress the dead addresses automatically.
/ 06 — How to process bounces
The sequence, mostly automatic when set up right.
Done well, bounce processing runs without manual effort. The sequence that works:
- 1 — Capture and parse. Collect the bounce notification — the delivery status notification or non-delivery report — the receiving server returns, and parse its SMTP status code and reason rather than treating every bounce alike.
- 2 — Classify hard or soft. Use the code and reason: a permanent failure such as a nonexistent address is hard; a temporary one such as a full mailbox is soft. The classification dictates the action.
- 3 — Suppress hard bounces at once. Add every hard bounce to your suppression list immediately and never send to it again. This is the single highest-value step.
- 4 — Retry soft bounces, then escalate. Retry a limited number of times over a sensible window; if an address keeps soft-bouncing across several sends, escalate it to suppression as a persistent failure.
- 5 — Maintain the suppression list. Keep suppressed addresses permanently excluded, carry the list across campaigns and platforms, and treat it as a core reputation asset.
/ 07 — The suppression list
Where bounce handling becomes permanent.
Classifying a bounce correctly only helps if the decision sticks, and the suppression list is what makes it stick. It is the permanent record of addresses you must never send to — hard bounces, persistent soft bounces, unsubscribes, complaint sources — and every future send is filtered against it automatically. Without one, you would re-discover the same dead addresses on every campaign, re-bouncing them and re-damaging your rate each time; with one, an address that fails is removed from your sending universe for good after a single occurrence.
The two ways the suppression list goes wrong are both quietly costly. The first is not carrying it with you — rebuilding from scratch when you change platforms, or keeping separate lists per campaign, so addresses you already know are dead leak back into your sends. The second is treating it as disposable cleanup rather than a permanent asset, letting it be reset or ignored. A suppression list is most valuable precisely because it is cumulative: every bounce, unsubscribe, and complaint it has ever absorbed is one your future sends are protected from, which is why it deserves to be guarded and carried across everything you send.
Treated this way, the suppression list turns a stream of individual bounce decisions into durable list hygiene. Each correct call — suppress this hard bounce, escalate this persistent soft one — is banked permanently, so your list quality only improves over time instead of decaying back. It is the mechanism that lets bounce handling compound into a steadily cleaner list and a steadily safer reputation, rather than a chore repeated against the same dead weight forever. That compounding is the quiet reason established senders with disciplined suppression tend to have cleaner lists than newer ones regardless of effort in any given month: they are reaping years of banked decisions. A suppression list is one of the few assets in email that genuinely gets more valuable the longer and more carefully you keep it, which is precisely why it should never be the thing you let slip when changing tools.
/ 08 — Where EDP fits
Bounce processing that protects reputation by default.
Bounce handling is the kind of work that is simple in principle and easy to get wrong in practice — a misparsed code, a hard bounce that slips through and gets retried, a suppression list that does not carry across platforms, and the bounce rate creeps up while everything looks fine. It is precisely the sort of continuous, detail-sensitive operation that benefits from being handled by infrastructure built to do it correctly rather than bolted on by hand.
EDP processes bounces on its own PowerMTA and KumoMTA, parsing and classifying them, suppressing hard bounces immediately, retrying soft ones sensibly and escalating persistent ones, and maintaining a suppression list that carries across your sending — all as a managed service. The effect is that your bounce rate stays in the range that reads as a well-run sender without it being a task your team has to remember, and the reputation that depends on clean bounce handling is protected by default. It is one more piece of the operational hygiene that, done continuously and correctly, keeps mail in the inbox.
/ 09 — Questions
Bounces, answered.
What is the difference between a hard bounce and a soft bounce?
A hard bounce is a permanent delivery failure — the address does not exist, the domain is invalid, or the server has permanently rejected it — usually signaled by a 5xx SMTP status code. A soft bounce is a temporary failure — a full mailbox, a server that is momentarily down, a message too large, or greylisting — usually a 4xx code. The distinction is the most important one in bounce handling, because it dictates opposite actions: a hard bounce should be suppressed immediately and never retried, while a soft bounce should be retried for a while and only suppressed if it persists. Treating them the same is the root of most bounce-handling mistakes.
Why is retrying a hard bounce so damaging?
Because a hard bounce means the address is permanently undeliverable, so retrying it does nothing useful and tells mailbox providers something harmful about you: that you keep mailing addresses you know are dead, which is exactly the behavior of a sender who does not maintain their list. Repeated hard bounces drive up your bounce rate, one of the clearest negative reputation signals, and can flag you as a careless or compromised sender. The whole point of suppressing hard bounces immediately is that the cost of sending to them is entirely reputational damage with zero possible upside — there is no version where the message gets through.
How many times should I retry a soft bounce?
A limited number of times over a sensible window — the sending infrastructure typically retries automatically with increasing delays for a period, since many soft bounces are transient and resolve on their own once a full mailbox clears or a busy server recovers. The key is to set a ceiling: if an address keeps soft-bouncing across several distinct sends or a sustained period, it should be escalated to suppression as if it were a hard bounce, because a persistent soft bounce is effectively a permanent failure wearing a temporary code. The mistake in both directions is suppressing too early, which loses valid recipients, or never escalating, which lets dead weight accumulate.
What is a suppression list and why does it matter?
A suppression list is the permanent record of addresses you must never send to — hard bounces, persistent soft bounces, unsubscribes, and complaint sources. It is the mechanism that turns bounce handling into durable list hygiene: once an address is suppressed, every future send automatically excludes it, so a dead or hostile address cannot keep damaging your bounce and complaint rates campaign after campaign. A well-maintained suppression list, carried across campaigns and platforms rather than rebuilt each time, is one of the most important assets protecting your reputation, and losing or ignoring it is a common cause of reputation problems that seem to come from nowhere.
Does a high bounce rate really hurt deliverability?
Yes, significantly. Bounce rate is among the signals mailbox providers weigh most heavily, because a sender mailing many invalid addresses looks like someone using a purchased or unmaintained list — the profile of a spammer. A bounce rate drifting past the low single digits marks you as careless, and the reputation damage attaches to everything you send, not just the bounced messages. Good bounce handling exists precisely to keep that rate low: suppress the permanent failures fast, retry the temporary ones sensibly, and your bounce rate stays in the range that reads as a legitimate, well-managed sender.
Can good addresses turn into hard bounces over time?
Yes, which is why bounce handling is ongoing rather than a one-time cleanup. Addresses that were valid at signup go bad as people change jobs, abandon mailboxes, or close accounts, so even a list that was clean when collected accumulates dead addresses over months and years. This is the natural decay that continuous bounce processing catches: each send surfaces the addresses that have since died, and prompt suppression removes them before they drag your rate up. It is also why verification at signup and periodic list revalidation work alongside bounce handling rather than replacing it — one prevents bad addresses entering, the other catches good ones going bad.
Process every bounce right, on autopilot. Keep your rate where it reads as clean.
Bounce handling protects reputation when it is done correctly and continuously. EDP parses and classifies bounces on its own PowerMTA and KumoMTA, suppresses hard bounces at once, retries soft ones sensibly, and maintains a suppression list that follows your sending — all managed. Tell us your volume and we'll size it.
Book infrastructure reviewRelated capabilities