SendlySendly
Glossary

Return-Path header

What the Return-Path (envelope sender) is, how it differs from the From address, why SPF checks it, and how Sendly puts it on a subdomain of your sending domain

Every message has two sender addresses. The From header is the one a mail client displays. The Return-Path, also called the envelope sender or the bounce address, is the one the delivery protocol itself carries, and it is where a failure notice goes.

They are separate on purpose. A mailing list can relay your message to a thousand people and take the bounces itself, without rewriting the From address the reader sees.

Where it comes from

The Return-Path is not a header the sender writes. During the SMTP conversation the sending server announces the envelope sender with the MAIL FROM command — which is why it is also called the SMTP Return-Path or MAIL FROM address — and the server that finally delivers the message records that address at the top of the message as a Return-Path: header (RFC 5321, section 4.4). Writing a Return-Path header into the message yourself does not change the envelope; the delivering server writes the one that counts.

So in the raw source of a message you received, the two addresses sit side by side and can be completely different:

Headers of a delivered message (abridged)
Return-Path: <0100019a...-000000@sendly.yourdomain.com>
From: Acme <hello@yourdomain.com>
To: customer@example.com
Subject: Your receipt

To see it yourself, open the message source: Show original in Gmail, or the message's internet headers (View message source / message details) in Outlook.

Why it matters to you

Two consequences follow from the split, and both catch people out.

  • SPF is checked against the Return-Path, not the From address. Mail can pass SPF on a domain the recipient never sees. This is the gap DMARC closes by requiring alignment: the Return-Path's domain has to match (or be a subdomain of) the From domain for SPF to count.
  • Bounces arrive at the Return-Path. If that address is not monitored by whatever sends your mail, nobody learns that an address is dead, and you keep mailing it — which is a direct hit to sender reputation.

In Sendly

Sendly sends through Amazon SES and gives every sending identity a custom MAIL FROM subdomain: sendly.yourdomain.com for yourdomain.com. Once its MX and SPF records are published (see Custom MAIL FROM), the Return-Path on your mail is an address on that subdomain, unique to each message, as in the example above. That gives you two things:

  • SPF alignment. The envelope domain is a subdomain of your From domain, which is what DMARC's relaxed SPF alignment requires.
  • Bounce handling. Bounce and complaint reports come back through SES and are processed for you, and the affected addresses land on your suppression list automatically.

You never choose or monitor the address itself. If the MX record on the subdomain is missing, mail still sends, but SES falls back to its own amazonses.com envelope sender, and SPF no longer aligns with your domain. The domain's MAIL FROM status in the dashboard tells you which case you are in.

On this page