Skip to main content
When an email bounces, Lettr provides structured data about the failure — including a bounce type, category, SMTP response code, and human-readable message. This guide explains how to read that data and respond appropriately.

Hard vs Soft Bounces

Lettr classifies every bounce as either hard or soft. The distinction determines how the platform handles the failure automatically and what action you should take.

Hard Bounces

A hard bounce is a permanent delivery failure. The recipient’s mail server has definitively rejected the email, and retrying will not succeed. Lettr automatically suppresses hard-bounced addresses so you never send to them again. Examples: The email address does not exist, the domain has no mail server, or the recipient has permanently blocked your sender.

Soft Bounces

A soft bounce is a temporary delivery failure. The email may be deliverable if retried later. Lettr automatically retries soft bounces up to 3 times with exponential backoff before giving up. Examples: The recipient’s mailbox is full, the server is temporarily unavailable, or the message was rate-limited.
If a soft bounce continues to fail after all retry attempts, Lettr records a final bounce event. Addresses that repeatedly soft bounce over time may eventually be suppressed.

Bounce Categories Reference

Every bounce event includes a bounceCategory that describes the specific reason for the failure. Use this table to determine the correct response for each category.

SMTP Response Code Reference

The bounceCode field in bounce events contains the SMTP response code returned by the recipient’s mail server. These codes provide additional detail beyond the bounce category.

Temporary Failures (4xx)

These codes indicate a temporary issue. Lettr automatically retries delivery for these responses.

Permanent Failures (5xx)

These codes indicate a permanent failure. The address should be removed from your list or the issue investigated.
SMTP response codes alone do not tell the full story. Always read the message field in the bounce event for the specific reason provided by the receiving server.

Reading Bounce Webhook Events

The most reliable way to monitor bounces is through webhooks. When an email bounces, Lettr sends an email.bounced event to your configured webhook endpoint.

Event Payload

Webhook Handler

This handler processes bounce events, updates your subscriber records, and alerts your team when reputation-threatening bounces occur:

Out-of-Band Bounces

Some bounces arrive asynchronously, well after the initial delivery attempt appeared to succeed. These are called out-of-band (OOB) bounces. They occur when the receiving server initially accepts the message but later discovers it cannot be delivered — for example, when a forwarding address turns out to be invalid. Lettr sends these as email.out_of_band events:
Handle out-of-band bounces the same way you handle regular bounces. Update your subscriber records and suppress the address if the failure is permanent:

Deferred Emails

A deferred email is not a bounce — it is a temporary delay. The receiving server has asked Lettr to try again later, usually because of rate limiting or temporary unavailability. Lettr tracks these as email.deferred events.
Lettr handles retries automatically with exponential backoff. You do not need to take action on individual deferral events. When to investigate deferrals:
  • A large number of emails to the same domain are being deferred — this may indicate that the receiving server is throttling you due to reputation concerns or volume limits.
  • Emails to a specific recipient are deferred repeatedly across multiple sends — the receiving server may have a persistent issue.
  • Your overall deferral rate spikes suddenly — check whether you recently increased sending volume or changed your content.

Reducing Your Bounce Rate

Check for valid syntax, common typos (e.g., gmial.com), and disposable email providers at the point of signup. Catching invalid addresses before they enter your list prevents bounces entirely.
Require new subscribers to confirm their email address by clicking a link in a verification email. This ensures the address is real, reachable, and owned by the person who signed up.
Set up webhook handlers to process email.bounced and email.out_of_band events as they arrive. Remove hard-bounced addresses from your sending lists immediately rather than waiting for a batch cleanup.
Remove subscribers who have not opened or clicked any email in the past 6 to 12 months. Inactive addresses are more likely to become invalid over time as people abandon mailboxes.
Track your bounce rate in the Lettr dashboard after every send. If you notice an upward trend, investigate immediately rather than waiting for it to reach critical levels.

Bounce Rate Guidelines

Use these thresholds to assess the health of your sending practices:
ISPs closely monitor bounce rates. A bounce rate consistently above 5% can result in your domain being throttled or blocked entirely. Address bounce rate problems before they escalate.

Bounces

Bounce types, categories, and automatic handling

Webhook Event Types

Complete reference for all webhook events

List Hygiene

Maintain healthy recipient lists

Delivery Issues

Troubleshoot common delivery problems