5.4.8 means the recipient domain publishes an MTA-STS policy in enforce mode, and the MX host Exchange Online tried to deliver to does not match any host pattern in that policy. Microsoft honoured the policy and refused to deliver to a non-matching exchanger.
Most common causes
- The published MTA-STS policy does not include the active MX hostname
- MX records changed but the MTA-STS policy was not updated
- A backup MX or failover host is missing from policy
- Cached policy and current DNS describe different transport paths
What to verify next
- Run Mail Transport Security for the destination domain
- Compare every active MX hostname with the published MTA-STS mx patterns
- Review recent MX, gateway or failover changes
- Publish a consistent policy and allow normal policy/DNS cache propagation before retesting
The policy and the MX records disagree
MTA-STS lets a domain declare which mail exchangers senders should accept and require TLS to them. The policy file lists host patterns; if a published MX record points somewhere the policy does not list, conforming senders refuse it. This is exactly the failure MTA-STS is designed to produce when infrastructure changes without policy updates.
The usual sequence: MX records were changed for a migration or a new filtering service, the mta-sts.txt policy was not updated, and senders that honour the policy — Microsoft, Google — began rejecting while senders that ignore it continued delivering.
Verify the mismatch
Run Mail Transport Security for the recipient domain. It fetches the policy, lists every MX host and shows which ones match. Any unmatched host is the cause.
Also check the policy id in the _mta-sts DNS record: if the policy file was updated but the id was not changed, senders keep using their cached copy of the old policy for its max_age.
- Compare each MX hostname against the policy’s mx patterns.
- A changed policy needs a changed id in DNS.
- Backup and failover MX hosts must be listed too.
Fix on the recipient side
Update the policy file to include every active exchanger using wildcard patterns where appropriate, change the id in the DNS record, and confirm the file is served correctly over HTTPS on the mta-sts subdomain. Consider testing mode with TLS-RPT for a period after any MX change.
If you are the sender, there is nothing to change; forward the NDR to the recipient organization.
Best diagnostic path
Mail Failure Doctor
Classify the complete rejection and preserve provider-specific diagnostic context.
Open analysis → Live analysisMail Transport Security
Inspect MX, TLS, MTA-STS and transport-policy evidence for the destination.
Open analysis → Live analysisEmail Infrastructure Digital Twin
Map the domain’s public mail infrastructure and provider relationships before remediation.
Open analysis →Known limits
- Policy caching means the fix becomes visible to each sender only after its cached copy expires.
- Only the recipient domain can correct its policy.
Common questions
Why do some senders still deliver?
They do not implement MTA-STS. Microsoft and Google do, so their mail fails first.
We updated the policy file. Still failing.
Change the id in the _mta-sts TXT record too, or senders keep the cached old policy.
Should we switch to testing mode?
Temporarily, with TLS-RPT enabled, so senders report mismatches without refusing delivery while you fix them.
Why the exact message matters
The same status family can be triggered by different conditions, and providers frequently add diagnostic text that narrows the issue. Use the complete rejection text rather than treating the numeric code as a complete diagnosis.
Provider reference
For the provider-defined meaning and current requirements, review Microsoft Exchange Online NDR reference.