What Your Bounce Message Is Telling You
The number at the front of a bounce tells you whether to retry at all.
The number at the front of a bounce tells you whether to retry at all. A code starting with 4 is a temporary failure worth retrying later; a code starting with 5 is permanent, and retrying it only adds failed attempts. The three most commonly misread messages are a daily-limit rejection, a login lockout, and a recipient-side rate limit that looks like your fault but isn’t.
Key takeaways
- 4 means wait, 5 means stop. RFC 5321 defines 4yz as transient and 5yz as permanent.
- Not every 5xx is a bad address. Gmail’s daily-limit rejection carries a 5xx code and is about your mailbox, not the recipient.
- A login error is not a send block. Too many login attempts is an authentication lockout that clears.
- Some rejections are organisation-wide, not about you or the recipient.
- Authentication failures are the easiest to fix and produce the clearest messages.
What do the 4xx codes mean?
Try again later. RFC 5321 defines a 4yz reply as a transient negative completion: “the message as sent is still valid and… the client SHOULD, in fact, send the message again, possibly after waiting a bit longer, and possibly to a different SMTP server” (RFC 5321).
| Code | Meaning | What to do |
|---|---|---|
421 4.7.28 |
Gmail has detected unusual volume from the sender and applied a temporary rate limit | Do not send for at least 10 minutes, then resume on a single connection and increase gradually (Google) |
450 4.2.1 |
The recipient is receiving mail too quickly | Retry later; this is a limit on their side, not a problem with your sending (Google) |
454 4.7.0 |
Too many login attempts | An authentication lockout, not a send block — fix the credentials and wait (Google) |
421 / 451 (Yahoo) |
“A temporary problem blocking the delivery of your message” | Retry later (Yahoo) |
Yahoo TS* codes |
Message temporarily deferred, often for complaints, content or IP reputation | Retry, and investigate the underlying signal (Yahoo) |
Google’s guidance for the rate-limit case is specific and worth following exactly: on 421 4.7.28, stop sending for at least ten minutes, work out which quota you exceeded, then resume on a single connection before scaling back up.
What do the 5xx codes mean?
Stop. RFC 5321 defines a 5yz reply as permanent — the message “is invalid in some way or there is a permanent problem with the server” — and retrying the same command without changing something will not succeed.
| Code | Meaning | What to do |
|---|---|---|
550 5.4.5 |
Daily user sending limit exceeded — your mailbox, not the recipient | Do not suppress the prospect; reduce daily volume (Google) |
550 5.7.25 |
The sending address has no valid reverse DNS record | Fix reverse DNS for the sending address (Google) |
550 5.7.26 |
Blocked for failed authentication — Gmail requires SPF or DKIM to pass | Publish and align SPF and DKIM (Google) |
550 5.7.515 |
The sending domain does not meet the required authentication level for Outlook.com, Hotmail, Live.com and MSN | Set up SPF, DKIM and a valid DMARC policy that passes with alignment (Microsoft) |
550 5.7.233 |
Your organisation exceeded its daily limit for sending to external recipients | Organisation-wide; reduce external volume or redistribute sending (Microsoft) |
550 5.1.8 |
Bad outbound sender — the mailbox is restricted, typically for suspected spam | Requires administrator action to investigate and release (Microsoft) |
550 5.7.705 |
“Access denied, tenant has exceeded threshold” | Administrator must investigate compromise and contact support to remove the block (Microsoft) |
550 5.7.708 |
“Access denied, traffic not accepted from this IP” | Administrator action; often affects trial subscriptions (Microsoft) |
550 5.7.750 |
“Client blocked from sending from unregistered domain” | Add and validate every domain used for sending (Microsoft) |
553 / 554 (Yahoo) |
“An email could not be delivered due to a permanent problem” | Suppress or fix the underlying cause (Yahoo) |
Yahoo PH* codes |
Content-based block — phishing, malware or links to them | Fix the content; this is not a list problem (Yahoo) |
Which ones are about my mailbox, and which about the recipient?
This is the distinction most tools get wrong, and getting it wrong costs you good prospects.
About your mailbox or your organisation — never suppress the recipient for these:
550 5.4.5daily sending limit exceeded421 4.7.28sender rate limited454 4.7.0too many login attempts550 5.7.233organisation-wide external recipient limit550 5.1.8,550 5.7.705,550 5.7.708,550 5.7.750— administrator-level restrictions
About the recipient’s side:
450 4.2.1— the recipient is receiving mail too quickly, so retry later- Address-not-found rejections and Yahoo
553/554for invalid addresses
About your domain’s configuration:
550 5.7.25,550 5.7.26,550 5.7.515
If a campaign tool records the first group as bounces, a healthy list will look broken and real prospects will be permanently suppressed for something that was never about them. If it records the third group as bounces, you will spend weeks cleaning a list when the actual fix is a DNS record.
Which are authentication problems?
Three of the most common, and all three are fixable in an afternoon.
Google requires every sender, at any volume, to set up SPF or DKIM, use a TLS connection, and have valid forward and reverse DNS records — that is where 550 5.7.25 and 550 5.7.26 come from. Senders of more than 5,000 messages a day to personal Gmail accounts need SPF and DKIM and DMARC, with the From domain aligned to either the SPF domain or the DKIM domain, and DKIM keys of 1024 bits or longer (Google).
Microsoft’s consumer requirement produces 550 5.7.515. It applies when you send 5,000 or more messages a day to Outlook.com, Hotmail, Live.com or MSN from the same From domain, and requires SPF and DKIM to pass and a valid DMARC record that passes with alignment (Microsoft).
Yahoo’s requirements match: SPF or DKIM for all senders, both plus a DMARC policy of at least p=none for bulk senders, DKIM at a minimum 1024-bit key (Yahoo).
How WarmySender handles this
WarmySender classifies a rejection by what it actually says before deciding what to do with it. A rate-limit response is treated as a rate limit and the send is retried on schedule, even when it arrives wearing a permanent-looking code — the prospect stays on your list rather than being marked undeliverable for something that happened on your side. A genuine invalid-address rejection is suppressed permanently, so the same address is never attempted twice.
Where a bounce is used as evidence to stop sending to a whole recipient domain, that decision requires corroboration from more than one sender before it takes effect, so a single misconfigured mailbox cannot block a domain for everybody. And a campaign whose bounce rate crosses a set threshold is put into a cooldown rather than being allowed to run out the list.
The scheduler paces every send inside per-mailbox and per-domain caps, which is what keeps the sender-side rejections in the tables above rare in the first place. That holds whether a person or an agent built the campaign: Claude, ChatGPT, Cursor, Codex, OpenClaw and Hermes Agent can create, launch, pause and manage campaigns in plain language, but no agent sends a message and no agent can raise a limit. See why a prospect was marked bounced, why verified emails still bounce and the deliverability reference.
Frequently asked questions
What does 550 5.7.26 mean?
Your message was blocked because it failed authentication — Gmail requires SPF or DKIM to pass for the sending domain (Google). It is a configuration problem, not a list problem. Publish SPF and DKIM for the sending domain, confirm alignment with your From address, and the rejection stops immediately.
Does 550 5.4.5 mean the address is bad?
No. It means “Daily user sending limit exceeded” for your own mailbox (Google). The recipient address may be perfectly valid. Suppressing the prospect on this code is a common and expensive mistake; the correct response is to reduce daily volume from that mailbox.
Should I retry a bounced email?
Retry only codes beginning with 4. RFC 5321 defines those as transient failures where the message is still valid and should be sent again after a wait; codes beginning with 5 are permanent and retrying them will not succeed (RFC 5321).
What is 421 4.7.28 and how long should I wait?
It is Gmail temporarily rate-limiting the sender after detecting unusual volume. Google’s guidance is to stop sending for at least ten minutes, identify which quota you exceeded, then resume on a single connection and increase gradually (Google).
Why is everyone in my company suddenly unable to email externally?
That is 550 5.7.233, the organisation-wide external recipient limit, and it blocks every user rather than the one who exhausted it (Microsoft). Capacity returns as the daily window clears; the durable fix is to move campaign volume off the mailboxes the whole company relies on.