reason=100: Passed, with the domains aligned
compauth=pass reason=100 is the code correctly authenticated mail lands on: SPF or DKIM passed and the MAIL FROM and From domains are aligned. What it does and does not prove.
Published · Last verified · Maintained by TamingDNS
Pass
compauth=pass reason=100
1xx
Microsoft 365 only
📖 What Microsoft Says
SPF passed or DKIM passed and the domains in the MAIL FROM and From addresses are aligned.
Verbatim from Anti-spam message headers in Microsoft 365, "Composite authentication Reason codes". Everything below is our reading of it.
💬 What It Actually Means
The healthy code. An authentication check passed and the domain it passed for is the same domain the reader sees in the From line. Alignment is what DMARC exists to check, and reason=100 is what it looks like when it holds.
What happens to the message
Nothing to do. This is the code you want your own outbound mail to carry, and checking a known-good message from your own domain is a quick way to confirm your setup is working.
What to do
Nothing, on this code alone. Note what it covers: it says the From domain is genuine, not that the message is safe. A phisher who registers a lookalike domain and authenticates it properly gets reason=100 too. Alignment answers "is this domain who it claims to be", never "should I trust this domain".
⚠️ Easily confused with
reason=109 also passes but on a domain with no DMARC record. reason=115 passes because the mail came from inside a Microsoft 365 tenant where the From domain is an accepted domain.
📋 What It Looks Like in a Header
Paste your own headers into the email header analyser to see this line decoded against the rest of the message.
Authentication-Results: spf=pass (sender IP is 192.0.2.11)
smtp.mailfrom=contoso.com; dkim=pass (signature was verified)
header.d=contoso.com;
dmarc=pass action=none header.from=contoso.com;
compauth=pass reason=100
SPF passed, DKIM verified, and every domain on the line is the same one. This is what a correctly configured sender looks like.
🔗 Related Reason Codes
🔧 Check It Yourself
A reason code is one line of one header. These read the rest of the picture: what the domain publishes, and whether the message that carried this code holds up.