compauth=fail reason=000: What It Means in Microsoft 365 and How to Fix It
The short answer (what's causing it)
Microsoft's composite authentication header shows reason=000 when the message failed explicit DMARC for the sender's domain — neither aligned SPF nor aligned DKIM passed.
Step-by-step fix
- Read the full Authentication-Results header for spf, dkim and dmarc values.
- If it's your domain: fix the sending source's SPF/DKIM alignment.
- If it's a partner: tell them their mail fails DMARC (observation, not accusation).
- Avoid broad allow-list overrides that bypass spoof protection.
Record examples (replace example.co.uk with your domain)
Authentication-Results: spf=fail smtp.mailfrom=example.co.uk; dkim=none; dmarc=fail action=quarantine header.from=example.co.uk; compauth=fail reason=000
Examples are illustrative templates, not values for your domain. Test changes at
p=none/ staging first.
Check yours free in seconds
Run the free 20-check SuperTool on your domain: no signup, no install, public DNS only. Relevant checks: SPF, DKIM, DMARC.
Scan my domain free (20-check SuperTool) → £5 Website Launch Special Quick-Fix Pack →One-off download via PayPal guest checkout, no subscription. Packs contain DNS/config templates and scripts you run yourself.
Frequently Asked Questions
What about reason=001 or 601?
Other codes indicate implicit authentication outcomes; check Microsoft's documentation for each.
Can I whitelist it?
Possible, but it masks a real authentication gap.
Related FaultyPacket guides & tools
- Free 20-check SuperTool
- Zero-downtime DMARC p=reject, SPF & MTA-STS rollout
- Cyber Essentials v3.3 readiness
Authorised use: only scan domains you own or are authorised to inspect. Results are point-in-time public DNS observations.