Back to blog
Deliverability··2 min read·WillItInbox Team

Return-Path: where bounces actually go and why it matters

The Return-Path header tells receivers where to send bounce notifications. Get it wrong and you go blind to delivery failures. Here is the SPF, DMARC, and bounce-loop interaction.

Return-PathBouncesSPFBounce Handling

From: is what your recipient sees. Return-Path: is where the bounce goes. Most senders never think about the second one until they realize they have been mailing 30,000 dead addresses for six months because nobody was processing the bounce mailbox.

Return-Path vs From

HeaderVisible to recipient?Used for
From:YesDisplay, reply-to (unless overridden)
Return-Path / MAIL FROMNo (in envelope)Bounces, SPF check, DMARC SPF alignment
Reply-To:Yes (when user replies)Reply routing
Two different addresses, two different jobs.

Why use a subdomain for Return-Path

If your From: is [email protected], set Return-Path to [email protected] or similar. This lets you publish a focused SPF record for the bounce subdomain, isolates bounce traffic from corporate mail, and keeps your main domain's reputation clean if your ESP rotates IPs.

DNS record
HostTypeValueTTL
em.example.comTXTv=spf1 include:_spf.your-esp.com -all3600
SPF for a bounce subdomain.

DMARC alignment with Return-Path

Bounce-handling automation

  1. Configure your bounce mailbox to forward to a webhook or processing script, not a human inbox.
  2. Parse the DSN (Delivery Status Notification) to extract status code and original recipient.
  3. 5.x.x codes = hard bounce. Suppress immediately.
  4. 4.x.x codes = soft bounce. Increment retry counter; suppress after threshold.
  5. Log everything — bounce trends are an early warning of reputation problems.
Sample DSN excerpttext
Action: failed
Status: 5.1.1
Diagnostic-Code: smtp; 550 5.1.1 The email account that you tried to reach does not exist.
Final-Recipient: rfc822; [email protected]

Frequently asked questions

Keep reading