Bounces occur when an email cannot be delivered to the recipient. Understanding different bounce types and handling them correctly is essential for maintaining good deliverability.Documentation Index
Fetch the complete documentation index at: https://docs.lettr.com/llms.txt
Use this file to discover all available pages before exploring further.
Bounce Types
Hard Bounces
Hard bounces are permanent delivery failures. The recipient’s mail server has definitively rejected the email, and retrying will not succeed. Common causes:- Email address doesn’t exist
- Domain doesn’t exist
- Recipient has blocked the sender
- Mailbox has been deactivated
message.bounce webhook event. Hard bounces use bounce classes in the 10–30 and 100 ranges:
Soft Bounces
Soft bounces are temporary delivery failures. The email might be deliverable if retried later. Common causes:- Mailbox is full
- Server is temporarily unavailable
- Message is too large
- Rate limiting by the recipient server
Automatic Handling
Lettr automatically handles bounces for you:Bounce Classes
Lettr uses numeric bounce classes to categorize bounces. These correspond to thebounce_class field in webhook events:
| Bounce Class | Category | Type | Description | Recommended Action |
|---|---|---|---|---|
1 | Undetermined | Varies | Bounce could not be classified | Review manually |
10 | Invalid Recipient | Hard | Email address does not exist | Remove from list |
20 | Soft Bounce | Soft | General temporary failure | Automatic retry |
21 | DNS Failure | Soft | Domain DNS lookup failed temporarily | Automatic retry |
22 | Mailbox Full | Soft | Recipient’s mailbox is over quota | Wait and retry |
25 | Admin Failure | Soft | Mailbox admin-related issue | Review and retry |
30 | Generic Bounce (no RCPT) | Hard | Rejected without valid recipient | Remove from list |
40 | Generic Bounce | Soft | Temporary generic failure | Automatic retry |
50 | Mail Block (General) | Soft | Blocked by receiving server | Investigate |
51 | Mail Block (Spam Related) | Soft | Blocked as spam by receiving server | Review content |
52 | Mail Block (Content) | Soft | Blocked due to content filtering | Review content |
60 | Auto-Reply | N/A | Automatic reply (vacation, etc.) | No action needed |
70 | Transient Failure | Soft | Temporary infrastructure issue | Automatic retry |
100 | Relay Denied | Hard | Relay not permitted | Remove from list |
Hard bounce classes (10, 30, 100) result in automatic suppression. Soft bounce classes may lead to suppression if delivery continues to fail after retries.
Handling Bounces
Webhook Integration
The most reliable way to handle bounces is through webhooks. Set up a webhook endpoint to receivemessage.bounce events:
Querying Email Events
You can retrieve events for specific emails using the API:Bounce Rate Guidelines
Monitor your bounce rates to maintain good deliverability:| Bounce Rate | Status | Action |
|---|---|---|
| < 2% | Healthy | Maintain current practices |
| 2-5% | Warning | Review list hygiene |
| > 5% | Critical | Clean list immediately |
ISPs closely monitor bounce rates. A bounce rate consistently above 5% can result in your emails being blocked or filtered to spam.
Preventing Bounces
Use Double Opt-In
Use Double Opt-In
Require subscribers to confirm their email address before adding them to your list. This ensures addresses are valid and owned by the person who signed up.
Validate on Collection
Validate on Collection
Use email validation at the point of collection. Check for common typos, invalid formats, and disposable email addresses.
Clean Lists Regularly
Clean Lists Regularly
Remove subscribers who haven’t engaged in 6-12 months. Inactive addresses are more likely to bounce over time.
Process Bounces Immediately
Process Bounces Immediately
Set up webhook handlers to process bounce events in real-time. Don’t wait for batch processing.
Monitor Engagement
Monitor Engagement
Track open and click rates. Low engagement often precedes bounces as users abandon email addresses.
Delayed Delivery
Sometimes emails are temporarily delayed rather than bounced. These are tracked asmessage.delay events:
Out-of-Band Bounces
Some bounces arrive asynchronously after the initial delivery attempt appears successful. These are called out-of-band (OOB) bounces and are tracked asmessage.out_of_band events:
Related Topics
Webhook Events
Complete reference for all webhook event types
Handling Webhooks
Best practices for webhook implementation
Sending Best Practices
Tips for improving deliverability
Analytics
Monitor your email performance