Why are there two domains in the 'Mail From' field of an email header, and how does it affect deliverability?
Published 18 Apr 2025
Updated 18 Oct 2026
13 min read
Summarize with

Updated on 18 Oct 2026: We clarified MAIL FROM and Return-Path differences, added a DMARC alignment example, and corrected the deliverability guidance.
If you see two domains near the Mail From value in an email header, you are usually not looking at two envelope senders. In some Microsoft-generated Authentication-Results fields, smtp.mailfrom identifies the SMTP envelope sender checked by SPF. Its value is an address or its domain; SPF uses the domain portion. A bare domain printed after the following semicolon can be receiver context, often the destination mailbox domain.
That distinction matters. The real SMTP MAIL FROM value is the bounce address used by SPF. It can affect deliverability because mailbox providers evaluate it alongside the sending IP, DKIM, DMARC, HELO, URLs, complaints, and recipient behavior. The trailing receiver domain is not another MAIL FROM value and does not inherit sender reputation merely because Microsoft printed it on the same line.
When debugging this, preserve header field boundaries and identify the named properties within each semicolon-separated result. Semicolons inside comments or quoted values are not result separators. Properties such as smtp.mailfrom, header.d, and header.from describe authentication identities. A bare trailing domain in Microsoft's format needs provider context. The RFC 8601 authserv-id, when present, appears immediately after Authentication-Results:, not after smtp.mailfrom.
Why two domains appear beside MAIL FROM
There are two relevant formats. In standard Authentication-Results syntax, one authentication service identifier appears at the start of the field, followed by semicolon-separated results. In some Microsoft consumer and Outlook-related headers, the receiving domain is also appended after smtp.mailfrom and header.d. That provider-specific token is not a second envelope sender.
The Microsoft token often matches the domain of the destination mailbox used in the test, such as hotmail.com or outlook.com. Treat that match as evidence of receiver context, then confirm it against the full headers. Seeing a recipient domain with poor reputation in this position does not mean it sent or signed the message.
Fast interpretation
In a Microsoft line such as smtp.mailfrom=bounces.example.net; hotmail.com;, bounces.example.net is the sender identity used for SPF. hotmail.com is usually receiver context. Do not label it authserv-id, because RFC 8601 places authserv-id at the beginning of Authentication-Results.
- First domain: the SMTP envelope sender checked by SPF.
- Second domain: often receiver context in Microsoft-generated results.
- Deliverability impact: judge the authenticated sending identities, not every bare domain on the line.
A confusing Microsoft exampletext
Authentication-Results: spf=pass (sender IP is 203.0.113.10) smtp.mailfrom=bounces.mail.example.com; hotmail.com; dkim=pass (signature was verified) header.d=mail.example.com; hotmail.com; dmarc=pass action=none header.from=example.com; compauth=pass reason=100
In that example, hotmail.com is not another Mail From domain and is not in the standard authserv-id position. Confirm the interpretation by checking the recipient domain, Return-Path, Received-SPF, and the Authentication-Results field added by the final trusted receiver.
Standard syntax and Microsoft formatting
MAIL FROM is an SMTP envelope command, not a normal end-to-end message header field. A receiver can record that identity as smtp.mailfrom in Authentication-Results. RFC 8601 places authserv-id first, followed by semicolon-separated authentication results. Properties such as smtp.mailfrom and header.d belong to the result immediately before them.
Standards-compliant position of authserv-idtext
Authentication-Results: mx.receiver.example; spf=pass smtp.mailfrom=bounces.example.com; dkim=pass header.d=example.com; dmarc=pass header.from=example.com
Here, mx.receiver.example is the authserv-id. bounces.example.com is the SPF-authenticated MAIL FROM domain. example.com is both the DKIM signing domain and the Author Domain. A parser should use those positions and property names instead of guessing from visual proximity.
Some Microsoft-generated fields do not use the standard authserv-id position and append a receiver domain after authentication properties. Treat that bare value as a provider extension unless another trusted header assigns it a defined role. Also remember that copied headers can lose line breaks, so a domain at the start of the next Authentication-Results field can look attached to the preceding result. Domain names are case-insensitive, so capitalization alone does not create a different sender domain.
How DMARC uses these domains
RFC 9989 defines DMARC, with aggregate reporting defined in RFC 9990. DMARC compares an SPF-authenticated or DKIM-authenticated identifier with the RFC5322.From Author Domain. These standards do not make a trailing receiver-context token part of the sender identity.
How to read the header
Start with the raw headers, not a cropped screenshot or a mail client summary. Email clients often wrap long lines, hide continuation indentation, or make semicolon-separated values look like one long field. The raw header lets you see where each field and token begins. Trust only results added by the recipient provider's trusted infrastructure. A sender can insert a forged Authentication-Results field, so a familiar authserv-id or a position near the top is not proof of trust.

Five steps to read raw email headers, identify MAIL FROM, and check SPF and DMARC results.
Map the envelope sender, Header From, DKIM signing domain, HELO name, and authentication service before making a reputation call. These identities can use the same domain, related subdomains, or unrelated domains depending on the sending system. Their positions and labels determine their roles.
|
|
|
|---|---|---|
Envelope sender | smtp.mailfrom or Return-Path | SPF and bounces |
Header From | header.from | DMARC Author Domain |
DKIM domain | header.d | Signature and DMARC alignment |
HELO name | smtp.helo or Received-SPF helo= | SMTP client identity |
Authentication service | authserv-id before the first semicolon (RFC 8601) | Result source |
Main header identities to inspect
SPF checks whether the connecting IP is authorized for the envelope sender domain. If the reverse-path is empty, as it normally is for delivery status notifications, SPF defines the MAIL FROM identity using postmaster at the HELO domain. HELO is therefore relevant, but it is not a second MAIL FROM domain.
At final SMTP delivery, the receiving system normally writes the reverse-path into the Return-Path header. Compare it with smtp.mailfrom from the same delivery hop. A forwarder using SRS (Sender Rewriting Scheme) rewrites MAIL FROM under its own domain. SPF can then pass without satisfying DMARC for the original From domain; an intact DKIM signature with a matching domain can still satisfy DMARC. Use the final delivery's Return-Path together with the trusted receiver's authentication results.
Received-SPF provides another cluetext
Received-SPF: Pass (protection.outlook.com: domain of bounces.mail.example.com designates 203.0.113.10 as permitted sender) receiver=protection.outlook.com; client-ip=203.0.113.10; helo=mail.example.net;
The phrase domain of points to the SPF identity. client-ip identifies the server that connected, receiver identifies the service that checked it, and helo records the sending server's announced name. If the suspicious second domain appears only as Microsoft's trailing token, it is not part of the sender authentication path.
When a different Return-Path domain is normal
Sending services often use their own bounce domain in MAIL FROM while your business domain appears in the visible From address. This is normal bounce handling. It is separate from a bare receiver token after a semicolon.
Different envelope sender, DMARC pass through DKIMtext
Return-Path: <bounce-123@bounces.example.net> From: Example <news@example.com> Authentication-Results: mx.receiver.example; spf=pass smtp.mailfrom=bounces.example.net; dkim=pass header.d=example.com; dmarc=pass header.from=example.com
SPF passes for bounces.example.net in this example, but it cannot satisfy DMARC for example.com. DKIM passes with d=example.com, which matches the visible From domain, so DMARC passes. If the passing DKIM signature also used a domain under example.net, DMARC would fail despite both authentication checks passing.
A custom MAIL FROM domain such as bounces.example.com provides SPF alignment with example.com under relaxed mode when example.com is their shared Organizational Domain. Relaxed alignment is the default. Strict mode (aspf=s for SPF or adkim=s for DKIM) requires an exact domain match; a subdomain is not an exact match.
- If SPF passes for an unrelated bounce domain, configure DKIM with your From domain or enable a custom MAIL FROM domain that satisfies your DMARC alignment mode.
- Configure custom MAIL FROM in the sending service and publish its required DNS records for the bounce domain. Editing a Return-Path header or adding SPF only at the visible From domain does not change the SMTP envelope sender.
What affects deliverability
A second domain matters when it is a real sending identity, a signing domain, a link or tracking domain, or a domain used during forwarding. A receiver-context token inside Authentication-Results is different. First prove whether the domain participates in the message transaction, then evaluate its authentication and reputation.
Usually matters
- Envelope sender: checked by SPF and used for bounce handling.
- Header From: visible to recipients and used as the DMARC Author Domain.
- DKIM domain: verifies the signature and can provide DMARC alignment.
- Sending IP: evaluated for sending history and blocklist (blacklist) status.
Usually a clue only
- Authserv-id: appears at the start and identifies the authentication service.
- Receiver domain: can follow result properties in Microsoft-generated headers.
- Wrapped text: can make separate fields or tokens look connected.
- Header display: can hide punctuation and continuation lines.
If a business development domain has poor reputation, it can hurt mail that uses the domain in the visible From address, DKIM signature, return path, tracking domain, or links. It will not hurt a transactional message merely because a test was delivered to an inbox on that domain and Microsoft repeated the recipient domain in Authentication-Results.
Domain separation helps organize streams with different complaint and engagement patterns. Transactional and promotional mail often benefit from distinct authenticated subdomains, but domains using the same sending IP still share that IP reputation. Multiple sending domains also add DNS and monitoring work, and they should not be used to rotate away from poor sending practices. A related guide on From and Reply-To domains explains a nearby case where mixed identities can confuse trust signals.
Authentication checks by identity role
These are diagnostic states, not inbox-placement predictions.
Receiver token
Context only
Receiver context does not authenticate the sender or establish sender reputation.
Matching sender
DMARC pass
SPF or DKIM passes with a domain that satisfies DMARC alignment. Other delivery checks still apply.
Mismatched sender
Check DKIM
A passing SPF result with a domain mismatch does not satisfy DMARC; check for a passing DKIM signature with a matching domain.
Failed identity
Investigate
Investigate authentication failures and reputation separately. Failure of one method does not establish the overall DMARC result.
Separate syntax from reputation. First prove what each header token is. Then check whether the real sending identities pass authentication, match the Author Domain under DMARC, and remain healthy. Suped's DMARC monitoring shows reported sources and whether their SPF or DKIM results satisfy DMARC. Standard aggregate reports do not show recipient-level inbox placement; compare authentication findings with SMTP responses and complaint data.
How to diagnose MAIL FROM and DMARC failures
Use a repeatable process. One test email can mislead you if it goes to an internal inbox, passes through a forwarder, or reaches a destination that adds provider-specific tokens. Send a test to the affected provider, inspect the full raw headers, and compare the result with aggregate DMARC data.
- Get raw headers: copy the full source, including field names and folded continuation lines.
- Locate trusted results: use the Authentication-Results field added by the final trusted receiver.
- Confirm MAIL FROM: compare smtp.mailfrom, Return-Path, and Received-SPF.
- Check SPF and DKIM: verify the connecting IP, SPF domain, signature result, and signing domain.
- Check DMARC: confirm that at least one passing SPF or DKIM identifier matches the Author Domain under the configured DMARC alignment mode.
- Check reputation: review real sending domains, IPs, complaints, and blacklist signals.
Email tester
Send a real email to this address. Suped shows a results button when the test is ready.
?/43tests passed
A test message sent through the affected route shows the identities used for that delivery. Use Suped's email tester to inspect SPF, DKIM, DMARC, headers, and delivery-related issues in one report.

Email tester sample report showing total score, email preview, issue summary, and per-section results
If the message fails SPF, do not assume the trailing domain caused it. Check whether the connecting IP is authorized by the smtp.mailfrom domain. A focused SPF checker helps validate the record itself when several sending services are involved.
Basic DMARC record for monitoringdns
_dmarc.example.com TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
A p=none policy requests reports through rua without requesting DMARC quarantine or rejection; receivers still apply their own filters. Replace the example report address with a working destination. After fixing legitimate senders, choose an enforcement policy that matches the domain's mail use. RFC 9989 makes pct historic. Its t=y flag requests one policy level less enforcement for testing, but older receivers can ignore it. Do not rely on pct or universal t=y support for a rollout.
Use Suped to compare sending sources
Suped is our DMARC reporting and email authentication platform. Use it to identify reported sending sources and SPF or DKIM alignment failures after confirming which domain is the actual MAIL FROM identity.
Manual inspection works for one header. Suped's aggregate reports help compare that message's source with authentication results across participating receivers. Keep the distinction between a provider-specific receiver token and a reported sending identity when reviewing failures.
Practical Suped workflow
- Confirm sources: map reported IPs and services to each real sending domain.
- Catch changes: alert on authentication failures or unexpected source volume.
- Fix records: correct SPF, DKIM, or DMARC after the responsible identity is proven.
- Track reputation: combine authentication health with blocklist monitoring for domains and IPs.
Keep the original header alongside Suped's report findings and your DNS change notes, then send another test through the affected route. That workflow helps prevent a Microsoft receiver token from becoming an unnecessary sender-domain remediation project.
Common traps
Email headers are structured records, and punctuation matters. A semicolon separates authentication results or provider-specific tokens; it does not mark a new header field. A new field starts with a field name and colon, while an indented continuation line belongs to the preceding field.
Do not blame the wrong domain
If the trailing domain equals the destination mailbox domain in a Microsoft-generated field, it is probably receiver context. Verify its exact position, the recipient, Return-Path, and Received-SPF before assigning sender reputation impact.
Another trap is assuming an authentication pass guarantees inbox placement. A DMARC pass confirms that at least one passing SPF or DKIM identifier meets the domain matching requirement. It does not establish recipient consent, healthy reputation, or safe message content.
A real sending domain can have reputation problems even when the trailing receiver token is harmless. If the same identity carries mail streams with different complaint profiles, separate them, inspect complaints, and review whether sending IPs or link domains appear on a blocklist. The public ServerFault return-path discussion covers the related distinction between return path, Reply-To, and deliverability.
The visible From header can legally contain more than one mailbox in some messages, but that is a different issue. Under RFC 9989, DMARC validation normally stops when more than one Author Domain is extracted, although a receiver can apply local handling. It still does not create two domains in the SMTP MAIL FROM command.
Views from the trenches
Best practices
Read raw headers before judging a domain shown after smtp.mailfrom in result lines.
Compare Authentication-Results, Return-Path, and Received-SPF before assigning reputation.
Test to a mailbox at the affected provider, not only to an internal company inbox.
Common pitfalls
Calling Microsoft's trailing receiver domain authserv-id sends the review off course.
Rotating sending domains without fixing complaints only spreads the same reputation issue.
Checking only SPF misses DKIM, DMARC, HELO, IP, blocklist, and blacklist evidence.
Expert tips
Separate syntax parsing from reputation checks so provider tokens do not distract you.
Use DMARC reports to compare real receiver results across sources, not one test message.
Give distinct mail streams authenticated identities when their complaint risks differ.
Marketer view
Marketer from Email Geeks says raw headers are the first requirement because cropped views hide the semicolons that define each authentication token.
2020-08-04 - Email Geeks
Marketer view
Marketer from Email Geeks says smtp.mailfrom is the envelope sender, while header.from is the visible From domain used for DMARC alignment.
2020-08-04 - Email Geeks
What to do next
Parse the raw header, confirm MAIL FROM with Return-Path and Received-SPF from the same hop, then check DKIM and DMARC alignment. Change sender configuration only when a real sending identity fails these checks. If authentication passes but delivery remains poor, compare SMTP rejection codes and complaint trends with the source data in your DMARC reports.

