MTA-STS Policy Checker
Validate your MTA-STS configuration by checking the DNS TXT record at
_mta-sts.<domain>, fetching the policy file, and
verifying MX record alignment. Ensure your domain enforces TLS
encryption on inbound mail.
How MTA-STS Works
What is MTA-STS?
MTA-STS (Mail Transfer Agent Strict Transport Security) is a mechanism that allows mail service providers to declare their ability to receive Transport Layer Security (TLS) secured SMTP connections and to specify whether sending SMTP servers should refuse to deliver to MX hosts that do not offer TLS with a trusted certificate. Defined in RFC 8461, MTA-STS prevents downgrade attacks and certificate spoofing on email delivery.
DNS Record Format
MTA-STS requires a TXT record at _mta-sts.<domain>.
The record must contain two tags:
- v=STSv1 — version identifier (must be exactly
STSv1) - id= — a unique identifier for the policy version; change this value whenever you update the policy file so that senders know to re-fetch it
Policy File
The actual policy is a plain-text file hosted at a well-known HTTPS URL:
The file must be served over HTTPS with a valid certificate. It contains line-separated key-value fields.
Policy Fields
| Field | Required | Description |
|---|---|---|
version | Yes | Must be STSv1 |
mode | Yes |
One of enforce, testing, or
none |
mx | Yes |
One or more MX host patterns (wildcards allowed, e.g.
*.example.com). Repeat for each pattern.
|
max_age | Yes | Policy lifetime in seconds. Recommended: 604800 (1 week) to 31557600 (1 year). |
Policy Modes
- enforce — Sending servers MUST NOT deliver mail to MX hosts that fail TLS validation. This is the recommended production mode.
- testing — Sending servers should still deliver mail on TLS failure, but report the failure via TLS-RPT. Use this when rolling out MTA-STS for the first time.
- none — Indicates MTA-STS is explicitly disabled. Senders should treat the domain as if it has no MTA-STS policy.
Common Issues
- Expired or stale policy — If the policy
max_agehas elapsed and the DNS recordidhasn't changed, senders may stop enforcing TLS. - MX mismatch — The
mxpatterns in the policy file must match all MX records published in DNS. Unmatched MX hosts won't receive mail underenforcemode. - Testing mode for too long — Running in
testingmode indefinitely provides no actual protection. Transition toenforceonce you've verified TLS works correctly. - Missing HTTPS certificate — The policy file endpoint must serve a valid TLS certificate. Self-signed or expired certificates will cause senders to ignore the policy.
- max_age too short — A value under 86400 (1 day) means senders must re-fetch the policy very frequently, increasing the risk of delivery failures during DNS outages.
Monitor Your MTA-STS Continuously
This tool performs a one-time check. For ongoing monitoring, TLS-RPT aggregate reports, and alerting when your MTA-STS policy breaks, sign up for DMARCguard — it's free to start.