Email bounces are a fact of life. People change email addresses, companies go out of business, inboxes fill up. How you handle bounces determines whether they are a minor nuisance or a major deliverability problem.
Poor bounce handling leads to blacklisting, damaged reputation, and wasted resources. Proper bounce management protects your sender reputation and ensures your emails reach the people who want them.
Understanding Email Bounces
What is a Bounce?
A bounce occurs when an email cannot be delivered. The receiving mail server returns a Non-Delivery Report (NDR) explaining why delivery failed.
Hard Bounces (Permanent Failures)
Hard bounces indicate a permanent delivery failure:
- User unknown: Email address does not exist
- Domain does not exist: Invalid domain
- Mailbox disabled: Account closed or suspended
- Invalid address syntax: Malformed email address
Action: Remove from list immediately. Never send again.
Soft Bounces (Temporary Failures)
Soft bounces indicate a temporary issue:
- Mailbox full: Recipient inbox is at capacity
- Server temporarily unavailable: Receiving server is down
- Message too large: Exceeds size limits
- Rate limited: Too many messages from your IP
- Greylisted: Temporary rejection, retry expected
Action: Retry delivery. Convert to hard bounce after repeated failures.
Bounce Processing Architecture
Receiving Bounce Notifications
Modern email APIs send bounce notifications via webhooks. Your webhook handler should verify signatures, process the bounce type, and take appropriate action based on whether it is a hard or soft bounce.
Bounce Classification
Classify bounces accurately to take appropriate action. Check SMTP codes first - 5.1.x codes typically indicate hard bounces, while 4.x.x codes indicate soft bounces. Fall back to message parsing for ambiguous cases.
Bounce Handling Strategies
Hard Bounce Handling
- Remove from all active mailing lists immediately
- Add to suppression list to prevent future sends
- Log the bounce for audit purposes
- Consider notifying the user through other channels if they have an account
Soft Bounce Handling
- Track soft bounce count per email address
- Retry delivery with backoff
- After threshold (e.g., 3 consecutive soft bounces), convert to hard bounce
- Consider time-based reset after successful delivery
Suppression List Management
What Goes in the Suppression List
- Hard bounced addresses
- Spam complaints
- Manual unsubscribes
- Addresses you know are invalid
Checking Against Suppression
Always check against your suppression list before every send. Log blocked sends for audit purposes.
Suppression List Hygiene
- Never remove hard bounces
- Consider time-based removal for soft bounces after 6-12 months
- Respect unsubscribes permanently
- Allow users to re-subscribe through explicit action
Measuring Bounce Health
Key Metrics
- Total bounce rate: Target less than 2%
- Hard bounce rate: Target less than 0.5%
- Bounce trend: Is it stable, improving, or worsening?
- Bounce by segment: Are certain lists or sources worse?
Alerting Thresholds
Set up critical alerts for hard bounce rate exceeding 0.5% and total bounce rate exceeding 5%. Set warnings for hard bounce rate exceeding 0.2%.
Preventing Bounces
Email Validation at Collection
- Syntax validation (format check)
- Domain validation (MX record exists)
- Disposable email detection
- Real-time validation APIs for risky addresses
Double Opt-In
Confirmation emails catch invalid addresses before they enter your main lists. The bounce happens on the confirmation email, not on your valuable campaigns.
Regular List Hygiene
- Remove unengaged subscribers with no opens or clicks in 12+ months
- Re-validate old addresses periodically
- Clean purchased lists or better, do not use them
Conclusion
Bounce management is essential for email success. A well-maintained suppression list, proper bounce classification, and proactive list hygiene protect your sender reputation and improve deliverability.
GetMailer handles bounce processing automatically, maintaining suppression lists and providing detailed bounce analytics. Our webhook system delivers real-time bounce notifications so you can keep your lists clean.
