What is a hard bounce, and what is a soft bounce?
A hard bounce is a permanent failure: the receiving server answers with a code that starts with 5, and the message won't arrive as sent. A soft bounce is a temporary failure with a code that starts with 4, so your sending server tries again later. The two standards behind these codes put it like this:
- 5yz, permanent. RFC 5321, the SMTP standard, says the sending client should not repeat the exact request. It adds that even some permanent errors can be corrected, for example after the spelling of the address has been changed.
- 4yz, transient. The same section says the error condition is temporary and the client should try again. Its rule of thumb: a reply belongs in 4yz if repeating the command, unchanged, could succeed.
- The three-part code. RFC 3463 adds enhanced status codes such as 5.1.1, written as class.subject.detail. It calls class 4 a persistent transient failure, where sending in the future may be successful, and class 5 a permanent failure, where the message or the destination has to change.
The bounce itself is the report that comes back. Microsoft's guide to nondelivery reports in Exchange Online says the delivery status notification is also known as a bounce message. In Gmail it arrives from Mail Delivery Subsystem, often with the subject Delivery Status Notification (Failure), according to Gmail Help on bounced or rejected emails. Reading the parts of that message is covered in our guide to the bounce-back email and how to fix it; this post is about what each type means for your list.
Which bounce codes are hard and which are soft?
Read the first digit for hard or soft, then read the text to see whose problem it is. These codes come from Gmail’s SMTP error list (last updated 26 October 2026) and Microsoft's nondelivery report page (last updated 24 August 2026), checked 4 November 2026. The last two columns are our reading of each entry.
| Code | Listed by | What the page says | Type | Whose problem | What to do |
|---|---|---|---|---|---|
| 550 5.1.1 | Gmail | The email account you tried to reach doesn't exist | Hard | The address | Remove it today |
| 553 5.1.2 | Gmail | Gmail couldn't find the recipient domain | Hard | The address, often a typo after the @ | Fix the typo, or remove |
| 550 5.2.1 | Gmail | The email account is inactive | Hard | The address | Remove |
| 5.1.10 | Microsoft | Recipient not found | Hard | The address | Remove |
| 452 4.2.2 | Gmail | The recipient's inbox is out of storage space | Soft | The recipient | Let your server retry |
| 552 5.2.2 | Gmail | The inbox is out of storage space and inactive | Hard | The recipient | Remove |
| 421 4.7.28 | Gmail | An unusual rate of email; temporarily rate limited | Soft | You: volume | Send less, then retry |
| 421 4.7.0 | Gmail | Very low reputation of the sending IP; temporarily rate limited | Soft | You: reputation | Cut volume; check list and content |
| 550 5.7.26 | Gmail | The sender is unauthenticated (SPF and DKIM didn't pass) | Hard | You: DNS setup | Fix authentication; keep the address |
| 550 5.7.1 | Gmail | Very low reputation of the sending domain; blocked | Hard | You: reputation | Stop and fix before resending |
| 5.2.2 | Microsoft | Submission quota exceeded (the sender's rate limit) | Hard | You: your own account | Stop; Microsoft says it could mean a compromised account |
| 4.4.7 | Microsoft | The message expired in the queue | Soft that ran out of time | Usually the receiving server | Check the address and the receiving server |
Why does an email hard bounce?
Usually because the address is wrong or gone. Sometimes, though, a 5xx code is about you, and deleting the contact fixes nothing. The causes, by the subject digit in the code:
- The mailbox doesn't exist (x.1.1). Gmail's help page says the address may not exist or may have a typo or another error in it, and lists spelling errors, quotation marks, dots at the end of the address and spaces before or after it.
- It existed and was closed (x.1.1, x.1.6, x.2.1). RFC 3463 describes x.1.6 as an address that was at one time valid. Microsoft's entry for 5.1.1 says the error can occur if the address was previously valid but later changed or removed: people leave jobs. Our post on why B2B contact data goes stale covers how fast that happens.
- The domain can't take mail (x.1.2). RFC 3463 says this means the part of the address to the right of the @ is invalid for mail.
- The receiver refused you (x.7.x). Gmail's 5.7.26 text says Gmail requires all senders to authenticate with either SPF or DKIM. Delete the contact and the fault stays: your next email to a Google-hosted mailbox is likely to fail the same way. Use our free checker to read your domain's DMARC record and policy, then confirm SPF and DKIM pass for the tool you send with.
One more case: Mailchimp’s bounce help page notes that valid email addresses occasionally hard bounce. If a contact you know is real bounces, ask them for another address or check with their IT team before you write them off.
What happens to a soft bounce, and when does it count as hard?
Your sending server queues it and tries again. RFC 5321 (section 4.5.4.1) says the retry interval should be at least 30 minutes and the give-up time generally needs to be at least 4 to 5 days. Only when the server gives up do you get the final failure notice. After that, your email tool applies its own rule for addresses that keep soft bouncing, and the rules differ (checked 4 November 2026; MailerLite’s page was last edited 25 August 2026):
| Source | Hard bounces | Repeated soft bounces |
|---|---|---|
| Mailchimp | In most cases cleaned from the audience automatically and immediately; left out of all future sends | Turned into a hard bounce after 7 soft bounces with no subscriber activity, or up to 15 with previous activity |
| MailerLite | Removed automatically from the active list; status shows as Bounced | Three soft bounces in a row count as a hard bounce |
| Google, email sender guidelines | The page doesn't use the terms hard or soft bounce (checked 4 Nov 2026) | Lists automatically unsubscribing recipients who have multiple bounced messages, without saying which kind, as an extra unsubscribe option |
| Microsoft, Outlook high-volume sender post (April 2025) | Remove inactive or invalid addresses regularly, aiming for monthly or quarterly | Not set out as a separate rule |
The labels are each tool's own policy, not the code's. Mailchimp's list of common soft-bounce reasons includes a message that failed DMARC and a mailbox that is inactive; Gmail's error list gives both of those 5xx codes (5.7.26 and 5.2.1). Mailchimp also keeps bounce receipts in your email reports for only 30 days after the send, so export them before you need them.
Worked example: sorting one send's bounces
Northwind Ltd (a sample company) sends a first cold email to 400 people from its own domain, and 31 bounce. Here is how the receipts sort:
| Code | Bounces | Type | Action |
|---|---|---|---|
| 550 5.1.1 | 9 | Hard, address | Remove |
| 553 5.1.2 | 2 | Hard, address | Fix the typos, resend once |
| 550 5.2.1 | 1 | Hard, address | Remove |
| 550 5.7.26 | 12 | Hard, sender | Hold; fix SPF or DKIM first |
| 452 4.2.2 | 3 | Soft, recipient | Wait for the retries |
| 421 4.7.28 | 4 | Soft, sender volume | Send less tomorrow |
- Total bounce rate: 31 ÷ 400 = 7.75%. On its own this number hides what to fix.
- Address hard bounces: 9 + 2 + 1 = 12, so 12 ÷ 400 = 3%. This is the figure that measures the list. Whether 3% is too high depends on your sending tool's limits; our Apollo post compares the lines vendors publish.
- Sender hard bounces: 12 ÷ 400 = 3%. These people may be perfectly valid. A rule of delete every 5xx would remove 12 + 12 = 24 addresses, half of them addresses that may be valid, and leave the authentication fault in place.
- Soft bounces: 3 + 4 = 7 (1.75%). The server keeps retrying for days. For the 4.7.28 replies, Google’s sender guidelines say to reduce sending volume until the error rate decreases, then increase slowly again.
Who gets follow-up 1? The 400 − 31 = 369 people whose email arrived, plus any of the 7 soft bounces whose retry succeeds, plus the 2 corrected typos if they now deliver. The 12 held addresses rejoin only after a test email to a Google-hosted mailbox shows SPF or DKIM passing, and DMARC too if the bounce text named your domain's DMARC policy. Northwind removes 10 addresses for good (the 9 plus the 1), not 24.
What should you do about bounces this week?
Export the codes, not just the count
Pull every bounce with its full code and text. In Mailchimp, do it within 30 days of the send.
Sort by the first digit, then the second
Gmail's 5.1.1 and Microsoft's 5.1.10 come off the list today, and so does 5.2.1 when the text says the account is inactive; fix 5.1.2 typos first. Read the text on any other 5.1.x or 5.2.x: Microsoft's 5.1.8, 5.1.90 and 5.2.2 are about your own account. 5.7.x goes on your own fix list. 4.x.x waits for the retries.
Rule out your own setup
If several 5.7.x bounces arrive on one send, stop sending and check SPF, DKIM and DMARC before the next batch.
Set a soft-bounce strike rule
Pick a number and apply it to every list. MailerLite's three soft bounces in a row is a simple one to borrow.
Re-check old contacts before you send
People change jobs, and their work addresses start returning x.1.1. Verify anything you haven't emailed recently, and if bounces come with spam-related text, work through our fix list for cold emails going to spam.
Frequently asked questions
Does Mailchimp automatically remove hard bounces?
In most cases, yes. Mailchimp's help page says hard-bounced addresses are cleaned from your audience automatically and immediately, and cleaned addresses are excluded from every later send. Soft bounces stay until they repeat: 7 times for a contact with no subscriber activity, or up to 15 for one with past activity, after which Mailchimp converts them to hard bounces.
What does a soft bounce mean in MailerLite?
It means the email couldn't be delivered for a temporary reason, such as a full mailbox, a message that is too large or a server that timed out. MailerLite keeps that subscriber active. If the same subscriber soft bounces three times in a row, MailerLite treats it as a hard bounce and removes them from the active subscriber list.
Is a 42% bounce rate good?
For email, 42% would mean 420 of every 1,000 messages failed, which points to a broken list or a blocked sender. If the figure came from website analytics, it measures something else: in Google Analytics 4, bounce rate is the share of sessions that weren't engaged, meaning 10 seconds or less, no key event and fewer than two page views.
Should I resend an email that soft bounced?
Usually not by hand. Your sending server already retries a soft bounce, and the SMTP standard expects it to keep trying for at least four to five days before giving up. If it still fails, let the next step of your sequence be the next attempt, and suppress the address once it reaches your strike limit.
Can a hard-bounced address ever work again?
Sometimes. RFC 5321 notes that even some permanent errors can be corrected, for example once a misspelt address is fixed or the account status has changed. In practice, only add a hard-bounced contact back when you have a corrected or newly confirmed address, and send one test email before it rejoins a sequence.
Sources
- RFC 5321: Simple Mail Transfer Protocol (sections 4.2.1 and 4.5.4.1) (October 2008; checked 4 Nov 2026)
- RFC 3463: Enhanced Mail System Status Codes (January 2003; checked 4 Nov 2026)
- Google Workspace: Gmail SMTP errors and codes (last updated 26 Oct 2026; checked 4 Nov 2026)
- Gmail Help: Fix bounced or rejected emails (checked 4 Nov 2026)
- Microsoft Learn: Email nondelivery reports and SMTP errors in Exchange Online (last updated 24 Aug 2026; checked 4 Nov 2026)
- Mailchimp: Soft vs. Hard Bounces (checked 4 Nov 2026)
- MailerLite: The difference between hard bounce and soft bounce (last edited 25 Aug 2026; checked 4 Nov 2026)
- Google Workspace Admin Help: Email sender guidelines (checked 4 Nov 2026)
- Microsoft Defender for Office 365 Blog: Outlook's new requirements for high-volume senders (2 Apr 2025, updated 30 Apr 2025; checked 4 Nov 2026)
- Google Analytics Help: [GA4] Engagement rate and bounce rate (checked 4 Nov 2026)
