What does “compauth=fail reason=000” mean?
Microsoft marked the message as failing authentication because it failed DMARC and the domain's policy is p=quarantine or p=reject.
Last read from the sources at the foot of this page.
compauth=fail reason=000
What does it mean?
compauth is Microsoft's combined verdict from SPF, DKIM, DMARC and other signals, judged on the From domain. Reason 000 is an explicit DMARC failure.
What exactly does the source say?
000 The message failed explicit authentication (compauth=fail). The message received a DMARC fail and the DMARC policy action is p=quarantine or p=reject.
Why would a small firm see it?
A service sending in your name without SPF or DKIM for your domain, or a forged message.
How do I fix it?
- Read the Authentication-Results header for the spf= and dkim= results.
- Turn on DKIM signing for your domain at that service.
Keep one SPF record. Add the service inside the one record you have, before its last word, and keep every service already in it. A second SPF record makes the check fail for every message.
An SPF record may make at most 10 DNS lookups. Each include counts, and so do the includes inside it. Past 10 the check fails, so take out services you no longer use before adding a new one.
What else do the sources say?
Composite authentication result. Microsoft 365 combines multiple types of authentication (SPF, DKIM, and DMARC) and other parts of the message to determine whether the message is authenticated. Uses the From: domain as the basis of evaluation. Note: Despite a compauth failure, the message might still be allowed if other assessments don't indicate a suspicious nature.
dmarc=fail action=oreject header.from=o365e.onmicrosoft.com;compauth=fail reason=000
Where does this come from?
- Microsoft: Email message headers in Microsoft 365learn.microsoft.comRead 14 October 2026
- Microsoft: Email non-delivery reports and SMTP errors in Exchange Onlinelearn.microsoft.comRead 14 October 2026
See what is open before anyone else does.
We read from outside, find each way in first, and show it with a check anyone can re-run. No access, nothing tested, no obligation.
- We read your firm from outside.
- You see what is open, with the proof for the lead finding.
- If it is worth it, you order.
What happens if you go ahead. More at getleaktrace.com/see-it-first/.
Read the transcript
- 72 hours. One domain. Nothing to install.
- Discover. Every way in, found from outside.
- Validate. Every finding, proven. Dated and checkable by anyone.
- Close. Forged email: one click per step, where we reach your DNS host and you approve it.
- You get the fix for the rest, step by step, and we re-check until it is closed.
- Monitor. On monitoring: email settings, look-alikes and new host names re-checked every hour. Alerts within the hour.
- Every paid assessment is human-verified before release.
- The AI defense layer for businesses. getleaktrace.com/see-it-first/