The 3 sender concepts (different things)#
Email has 3 "sender" addresses, often confused:
| Concept |
Where it lives |
Used by |
| From: header |
Email body header |
Displayed to recipient — what they see in the inbox |
| Envelope-sender (MAIL FROM, Return-Path) |
SMTP envelope (before the message body) |
Receiving servers — where bounces go back to |
| Reply-To: header |
Email body header |
Recipients clicking "Reply" — where their reply goes |
These can all be different addresses. Sometimes useful, sometimes confusing. Let's separate them.
From: header (what recipients see)
From: Brand Marketing <hello@brand.com> in the email body. Recipients see "Brand Marketing" in the sender column. Inbox previews display this.
In AcelleMail: campaign settings → From email + From name. Per-campaign override of the sending server's default.
Envelope-sender (where bounces go)#
Set during SMTP transmission via MAIL FROM: command. NOT visible in the email body. Receivers use it for:
- Sending bounce messages back to (so AcelleMail can process them)
- SPF check (the sender domain's SPF record must authorize the sending IP)
- Reputation tracking (one of the inputs to per-domain reputation)
In AcelleMail: handled automatically by the sending-server config. Typically bounce@yourdomain.com or a vendor-rotated address like bounce-12345@amazonses.com.
Verify the envelope-sender by opening "Show original" in Gmail:
Return-Path: <bounce@yourdomain.com>
X-Original-Sender: bounce@yourdomain.com
This is the envelope-sender, NOT the From: header.
Reply-To: header (where replies go)
Reply-To: support@yourdomain.com. When a recipient clicks "Reply," their reply goes to this address (not the From: address).
Useful for:
- Sending from
noreply@brand.com but accepting replies at support@brand.com
- Routing replies to a different team/inbox per campaign
In AcelleMail: campaign settings → Reply-to email.
Open the sending-domain detail#
In AcelleMail's sidebar, Sending → Sending domains. The list shows every domain you've registered with status chips (Verified / Pending / Failed) and per-auth indicators:

Click into your domain row. The detail page surfaces exactly which DNS records to publish (TXT for SPF, CNAMEs for DKIM, TXT for DMARC) with copy-paste-ready values + current verification state per check:

The sending-domain detail page shows the active envelope-sender pattern + verification status — confirming that the bounces will route correctly back to AcelleMail's processor.
Why all 3 matter for deliverability#
Receiving servers check alignment between these addresses + your DNS records:
| Check |
Aligned when |
| SPF |
Envelope-sender's domain has the sending IP in its SPF record |
| DKIM |
The DKIM signature's d= parameter matches the From: domain |
| DMARC alignment |
SPF and/or DKIM domain matches the From: domain |
Strict DMARC alignment = the bounce/envelope domain MUST match the From: domain (no subdomain leeway). Relaxed = subdomain leeway allowed.
If you send From: <hello@brand.com> but the envelope-sender is bounce-xyz@amazonses.com, DMARC may fail (envelope-sender domain amazonses.com doesn't align with From: domain brand.com).
The fix: use a custom Return-Path domain that aligns. AcelleMail's sending-server config → MAIL FROM (Return-Path) field — set to bounce.brand.com so the envelope-sender becomes bounce@bounce.brand.com, aligned with brand.com.
Common UI signals + fixes#
| Symptom |
Likely cause |
UI fix |
| Bounces never come back to AcelleMail |
Envelope-sender misconfigured (pointing elsewhere) |
Sending server detail → MAIL FROM field |
| DMARC fails despite SPF/DKIM green |
Envelope-sender domain doesn't align with From: |
Set up custom return-path subdomain |
| Recipients reply but I never see it |
Reply-To: pointing to dead address |
Campaign settings → Reply-to email |
| From: shows weird formatting |
Display name not set or quotes broken |
Campaign settings → From name |
| Spam folder placement on B2B receivers |
Strict DMARC alignment expected by some B2B filters |
Set up aligned return-path domain |
Common configurations#
| Setup |
Best for |
From: = Envelope = Reply-To, all on brand.com |
Simplest; strict DMARC alignment works automatically |
From: brand.com, Envelope: bounce.brand.com, Reply-To: support@brand.com |
Most common for marketing — aligned envelope subdomain handles bounces; replies go to support |
From: notifications@brand.com, Reply-To: empty (suppress replies) |
Transactional emails; "do not reply" pattern |
From: brand.com, Envelope: amazonses.com |
Default SES setup — DMARC alignment may need relaxed mode |
Advanced: per-vendor envelope-sender mechanics + DMARC alignment math + multi-tenant return-paths
Per-vendor envelope-sender:
| Vendor |
Default envelope-sender |
Customizable? |
| Amazon SES (API) |
bounces+xxx@amazonses.com |
Yes — set "MAIL FROM domain" in SES verified-identity config |
| SendGrid SMTP |
bounce+xxx@em.sendgrid.net |
Yes — Whitelabel feature (paid) |
| Mailgun |
bounce@mg.brand.com |
Yes — included in standard config |
| Postmark |
xxx@pm-bounces.brand.com |
Yes — included in standard config |
| Self-hosted Postfix |
Whatever you configure in postfix's myorigin |
Fully customizable |
For DMARC strict alignment, the envelope-sender domain must match (or be a subdomain of) the From: domain. Each vendor has a different way to set this:
- SES: Verify identities → custom MAIL FROM domain → publish MX record at
mail.brand.com
- SendGrid: Whitelabel feature → reverse DNS + CNAME setup
- Mailgun: Auto-handled per their domain setup
DMARC alignment math:
DMARC pass requires AT LEAST ONE of:
- SPF pass + From: domain matches MAIL FROM domain (or aligned subdomain)
- DKIM pass + From: domain matches DKIM d= (or aligned subdomain)
Strict alignment = exact domain match (e.g. brand.com = brand.com)
Relaxed alignment = subdomain leeway (e.g. mail.brand.com aligns with brand.com)
Default DMARC is relaxed alignment. Some receivers (financial-services-side filters) enforce strict.
Multi-tenant return-paths (for SaaS operators):
Each customer needs their own envelope-sender subdomain:
Customer A: From: hello@customerA.com Envelope: bounce@bounce.customerA.com
Customer B: From: hello@customerB.com Envelope: bounce@bounce.customerB.com
Each customer adds the bounce CNAME at their DNS host pointing to your AcelleMail processor. AcelleMail's per-customer sending server config holds the right envelope-sender setting.
Vendor-rotated envelope-sender (default SES pattern):
bounces+abc123@amazonses.com
bounces+abc124@amazonses.com
bounces+abc125@amazonses.com ...
The +abcXXX is a unique ID per outgoing message. SES uses it to route bounces to your account.
SRS (Sender Rewriting Scheme):
For forwarding scenarios — when you receive a message and forward it elsewhere. SRS rewrites the envelope-sender to maintain SPF authentication through the forward.
Original sender: bob@external.com → SPF check passes for external.com
After SRS rewrite: srs0=abc=brand.com@external.com → SPF check passes for brand.com
Most modern SMTP relays handle SRS automatically. Verify on your sending server if you do forwarding.
Reply-To: pitfalls:
From: noreply@brand.com
Reply-To: noreply@brand.com ← BAD! Recipients reply, mail bounces to noreply (likely no inbox)
Always set Reply-To: to a real-inbox address that someone reads.
From: noreply@brand.com
Reply-To: <empty> ← OK — recipients can't reply via standard reply; explicit communication channel mentioned in body
Related articles#