Home / Blog / How We Handle Email Bounces Automatically

· 9 min read · RelayPost Team

How We Handle Email Bounces Automatically

Inside RelayPost's bounce processing pipeline — automatic classification, suppression, and reputation protection.

EngineeringDeliverabilityAI Native

Why bounces matter more than you think

A bounce is an email that failed to deliver. That sounds simple, but bounce handling is one of the most consequential parts of email infrastructure. Get it wrong and your sender reputation degrades, your deliverability drops, and eventually ISPs start rejecting your email entirely.

The industry threshold is clear: keep your bounce rate below 2%. Above that, ISPs start throttling your sending. Above 5%, you're in serious trouble.

Most email platforms give you a webhook and say "handle it yourself." We think that's backwards. Bounce processing should be automatic, intelligent, and invisible to the developer.

The bounce processing pipeline

Here's what happens when an email bounces in RelayPost, from the moment the receiving server rejects the message to the moment the address is suppressed:

1. Notification ingestion

When an email bounces, our sending infrastructure publishes a notification containing the bounce type, recipient address, diagnostic code, and timestamp. This notification is verified for authenticity and enqueued for processing — typically within seconds of the bounce occurring.

2. Classification

Not all bounces are equal. The processing pipeline classifies each bounce into one of three categories:

  • Hard bounce — permanent failure. The address doesn't exist, the domain doesn't exist, or the mailbox is permanently disabled. Action: suppress immediately.
  • Soft bounce — temporary failure. Mailbox full, server temporarily unavailable, rate limited. Action: retry with exponential backoff, suppress after repeated failures.
  • Transient — one-time issue. Network timeout, DNS resolution failure. Action: retry once, then treat as soft bounce if it recurs.

Classification uses the SMTP diagnostic code (e.g., 550 5.1.1 = hard bounce, 452 4.2.2 = mailbox full) combined with pattern matching on the human-readable bounce message. ISPs aren't always consistent with their codes, so we maintain a mapping of provider-specific patterns.

3. Suppression

Hard-bounced addresses are added to the organization's suppression list immediately. Any future send attempt to that address is blocked before it reaches the sending infrastructure — saving you money and protecting your reputation.

Soft bounces follow a graduated approach: retries are spaced with increasing delays, and if the address continues to bounce within a time window, it's suppressed automatically. The exact timing adapts based on the bounce pattern and the receiving domain's behavior.

4. Reputation monitoring

The pipeline doesn't stop at individual bounces. We aggregate bounce data across your sending to detect patterns:

  • Bounce rate trending upward? Alert before it crosses the 2% threshold.
  • Specific domain bouncing at high rates? Flag it — the domain might be blocking you.
  • Sudden spike in bounces? Could indicate a list quality issue or a receiving server problem.

This is where the AI-native approach matters. Traditional platforms show you a bounce rate on a dashboard. RelayPost monitors the rate, identifies the cause, and takes action — or recommends action — before the problem affects your deliverability.

How it works under the hood

The bounce pipeline runs as a background job processor, separate from the API server. Here's the conceptual flow:

// Conceptual bounce processing flow

// 1. Receive bounce notification
// 2. Verify authenticity
// 3. Classify bounce type

if (bounce.type === "permanent") {
  // Hard bounce → suppress immediately
  // Address is blocked from future sends
  // Email status updated to "bounced"
} else {
  // Soft bounce → graduated retry
  // Increasing delays between attempts
  // Auto-suppress after repeated failures
}

// 4. Update aggregate metrics
// 5. Check for anomalies
// 6. Trigger alerts if thresholds approached

The actual implementation handles more edge cases — complaint bounces, out-of-office auto-replies that look like bounces, ISP-specific quirks — but the core logic is straightforward: classify, act, monitor.

What this means for developers

If you're using RelayPost, you don't need to:

  • Build a webhook processor for bounce notifications
  • Maintain a suppression list manually
  • Implement retry logic for soft bounces
  • Monitor bounce rates and set up alerts
  • Figure out which SMTP codes mean "permanent" vs. "temporary"

You send email through the API or SMTP. We handle everything that happens after — including the failures. Your suppression list stays clean, your bounce rate stays low, and your sender reputation stays healthy.

That's what AI-native infrastructure means: the hard parts are automated, not delegated to you via webhooks and documentation.

For more on maintaining healthy deliverability, see our Reduce Email Bounce Rate guide and the Email Deliverability Guide.

Ready to try RelayPost?

AI-native email infrastructure built for developers. Start sending in minutes.

Get Started Free