8 min read Diesen Artikel auf Deutsch lesen
Email Bounce: Codes, Causes, Follow-Ups
The short answer
An email bounce happens when the receiving server rejects your message and returns an SMTP code. Codes starting with 5 (like 5.1.1, user unknown) are permanent: remove the address and never follow up to it. Codes starting with 4 are temporary, and the sending server retries. With EmailFlow OS, each personalised video email goes out through your own Brevo account and domain, so the bounces show up in your Brevo logs and count against your domain's reputation.
In this article
- What is an email bounce, and how do hard and soft bounces differ?
- What does a bounce message look like? An email example
- Why do cold emails bounce?
- Why does a sales follow up email bounce when the first one didn't?
- Sales follow up email sample: what do you send after a bounce?
- How does EmailFlow OS handle bounces when you send video email?
- How do you keep bounces low before the first send?
- Questions people ask
What is an email bounce, and how do hard and soft bounces differ?
An email bounce is a message the receiving mail server refused to deliver. SMTP is defined in RFC 5321, and it returns a three-digit reply code. A code starting with 5 means a permanent failure. A code starting with 4 means a transient one. Most servers also add an enhanced status code from RFC 3463 in the form class.subject.detail. That's the 5.1.1 or 4.2.2 you see in bounce logs. A hard bounce is a permanent rejection, and the address won't start working if you send again. A soft bounce is temporary: the mailbox is full, the server is busy, or you've hit a rate limit. The sending server queues the message and tries again. In practice the codes below cover most of what cold senders run into. One thing doesn't work here: treating every bounce the same way. If you keep retrying 5.1.1 addresses, it tells receiving providers that your list was never checked.
| Code | Type | What it means | What to do |
|---|---|---|---|
| 550 5.1.1 | Hard | Mailbox does not exist | Remove the address permanently |
| 550 5.7.26 (Gmail) | Hard (policy) | Message failed authentication: SPF/DKIM/DMARC | Fix DNS before sending anything else |
| 550 5.7.1 | Hard (policy) | Rejected by recipient policy or reputation block | Stop, check blocklists and content |
| 452 4.2.2 | Soft | Mailbox over quota | Let retries run; remove if it persists |
| 421 4.7.0 | Soft | Rate limited or temporarily deferred | Reduce sending volume from that domain |
What does a bounce message look like? An email example
A bounce comes back as a delivery status notification, and its machine-readable part is defined in RFC 3464. Your mail client shows a human-readable summary on top. Underneath is a block containing the failed recipient, the action taken and the status code. A typical permanent bounce from a Google-hosted mailbox looks something like the example below. The address has been changed, but the structure is the standard one.
Final-Recipient: rfc822; j.mueller@example-gmbh.de / Action: failed / Status: 5.1.1 / Diagnostic-Code: smtp; 550-5.1.1 The email account that you tried to reach does not exist.
There are three fields to read. Action: failed means no more retries. Action: delayed means the message is still queued. Status gives the enhanced code, and Diagnostic-Code holds the receiving server's own wording, which is often more specific. Brevo records these events in its logs as hard or soft bounces, and when you send through your own Brevo account you see them there directly. Don't rely on the subject line of the notification. 'Undeliverable' and 'Delivery delayed' can both show up for very different causes.
Why do cold emails bounce?
Cold lists bounce for reasons you can usually trace back to the list or the domain, not the message copy. These are the common failure modes and what causes them:
- 5.1.1 user unknown: the contact left the company or the address was guessed from a name pattern and never existed.
- 5.7.26 unauthenticated: SPF or DKIM doesn't pass with DMARC alignment to the From domain. Gmail has enforced this for bulk senders since February 2024.
- 5.7.1 policy block: the receiving server or a blocklist distrusts your sending IP or domain, often after earlier complaints.
- 4.7.0 deferral: too much volume too fast from a new domain. This is typical when warm-up is skipped.
- 4.2.2 over quota: an abandoned mailbox that still exists but nobody empties. It often becomes a hard bounce later.
- Catch-all domains accept everything at SMTP time and then bounce later, so verifying the address beforehand doesn't tell you it exists.
Two of these are DNS problems, not list problems. If you see 5.7.26, work through SPF, DKIM and DMARC for cold email senders before you send another message. If you see 4.7.0 on a domain that's only weeks old, slow down and follow a proper email warm-up ramp with daily volumes.
Why does a sales follow up email bounce when the first one didn't?
A sales follow up email goes to the same address as the first touch, so a new bounce means something changed between the two sends. There are four usual explanations. First, the person left, and IT deleted the mailbox in the days between your messages, so you now get 5.1.1. Second, a soft bounce from the first send, such as 4.2.2 over quota, ran out of retries and was converted to a permanent failure. Third, your sending reputation dropped. Spam complaints on the first wave can produce 5.7.1 blocks or 4.7.0 deferrals on the second. Gmail asks bulk senders to keep the user-reported spam rate below 0.3%. Fourth, a threading problem: if your follow-up reuses a Message-ID or breaks the In-Reply-To header, some servers reject it as malformed. What doesn't work is resending the identical follow-up to a hard-bounced address 'just in case.' Each repeat counts as another hit to an invalid recipient. For timing and threading headers, see our guide to cold email follow-up timing and threading.
Sales follow up email sample: what do you send after a bounce?
After a hard bounce, you don't follow up with the bounced address at all. The follow-up goes to a different person at the same account, someone you've confirmed through a public source like the company website or a press release. Keep it short, tell them why you're writing to them, and don't pretend there's an earlier thread with them. Here's a sales follow up email sample for that situation:
Subject: Your team's outbound setup / Hi Anna, I'd tried to reach Jonas about how your sales team handles first-touch outreach, but my email bounced, so I suspect he's moved on. Is this something you look after now, or could you tell me who does? I recorded a short video walking through the idea — happy to send it if it's relevant. If not, no reply needed and I won't follow up again. Best, Lena
Some legal rules still apply. In Germany, UWG §7 requires prior consent for advertising email, and a new contact is a new recipient under that rule. Your legal basis applies to Anna, not just to Jonas. For more templates covering no-reply and post-call situations, see our collection of sales follow-up email templates.
How does EmailFlow OS handle bounces when you send video email?
EmailFlow OS works like this: you record one video and upload it, connect your Brevo account and sending domain, and import your prospect list into EmailFlow OS. EmailFlow OS then creates a personalised version of that recording for each recipient, not for each company. Each version goes out from your own inbox, through your Brevo account and your domain. There's no shared platform sender. That has a direct effect on bounces. Every rejection is recorded against your domain and appears in your Brevo logs, where you can read the code yourself. Nobody else's list quality affects your reputation, and yours doesn't affect anyone else's. It also means a careless list hurts you directly. Since each personalised version is tied to one recipient, one dead address is one bounce. That's why the list you import into EmailFlow OS needs cleaning before upload, not after the first wave. Treat hard bounces from Brevo as a reason to remove the contact from the prospect list in EmailFlow OS before you send any follow-up.
How do you keep bounces low before the first send?
Most bounces can be prevented before anything leaves your domain. Here's the order to work in:
- Publish SPF, DKIM and DMARC for the sending domain, starting DMARC at p=none, and confirm that Brevo's DKIM key passes before any campaign goes out.
- Keep SPF under the 10 DNS-lookup limit from RFC 7208. A permerror counts as an SPF failure and can trigger 5.7.26 at Gmail.
- Verify every address on the prospect list and flag catch-all domains separately, because verification can't confirm a mailbox exists on those.
- Import only the verified list into EmailFlow OS, and drop role addresses you have no legal basis to contact.
- Ramp daily volume gradually on a new domain rather than sending the full list on day one.
- After each send, read the bounce codes in Brevo and remove every 5.x.x address before the next touch.
None of this guarantees delivery. The receiving server makes that decision. But it takes the avoidable causes out of the picture, so the bounces that remain tell you something real.
Questions people ask
- What is a hard bounce vs a soft bounce?
- A hard bounce is a permanent rejection, signalled by an SMTP reply code starting with 5, such as 550 5.1.1 for a nonexistent mailbox. A soft bounce is temporary and starts with 4, such as 452 4.2.2 for a full mailbox. The sending server retries a soft bounce, but a hard bounce should be removed from your list immediately.
- What does error 550 5.7.26 mean?
- It's Gmail's rejection for unauthenticated mail. The message didn't pass SPF or DKIM with alignment to the From domain under DMARC. It's a domain configuration problem, not a list problem. Check that your Brevo DKIM record is published under your own domain and that DMARC is in place before you resend anything.
- Should I resend an email that bounced?
- Only after a soft bounce, and only once the cause is gone. With a 4.7.0 deferral, the server retries for you anyway. Never resend after a 5.1.1 or other 5.x.x permanent code. Each repeat counts as another attempt to an invalid recipient. Instead, find a different, verified contact at the same company.
- Does a bounced email count against my domain?
- Yes. When you send through your own Brevo account and domain, as you do with EmailFlow OS, every bounce is recorded against that domain. Receiving providers see repeated sends to invalid addresses as a sign of an unverified list. That's different from a shared platform sender, where reputation is pooled across many customers.