What the MTA-STS Checker looks at
MTA-STS has two parts: a TXT record that announces a policy, and a policy file served over HTTPS. This tool checks both, in the same way a sending server would:
- The TXT record at
_mta-sts.yourdomain. There must be exactly one record startingv=STSv1, with anidof 1 to 32 letters or digits (RFC 8461 section 3.1). - The policy host.
mta-sts.yourdomainmust resolve to a public address. - The policy file at
https://mta-sts.yourdomain/.well-known/mta-sts.txt. It must load with HTTP 200, over a valid certificate for that host name, without redirects (section 3.3), and should be served astext/plain. - The policy fields:
version: STSv1,mode(enforce, testing or none), onemxline per mail host, andmax_agein seconds, at most 31557600 (section 3.2). - Your MX hosts against the policy. Each MX host must match an
mxpattern. A wildcard such as*.mail.example.netmatches exactly one extra label (section 4.1). - TLS-RPT: a TXT record at
_smtp._tls.yourdomainstartingv=TLSRPTv1with aruaaddress (RFC 8460).
How to read the results
- Pass. That part of the setup is valid.
- Warning. It works, but protection is weaker than it could be: testing mode, a short
max_age, a wrong media type, or no TLS-RPT. - Fail. Senders will ignore your policy, or, in enforce mode, refuse to deliver to some of your MX hosts.
- Not tested. A lookup or the policy fetch timed out. We wait 5 seconds; real senders wait longer.
A working example
_mta-sts.example.com. TXT "v=STSv1; id=20261009T000000"
_smtp._tls.example.com. TXT "v=TLSRPTv1; rua=mailto:tlsrpt@example.com"
Served at https://mta-sts.example.com/.well-known/mta-sts.txt:
version: STSv1
mode: testing
mx: mx1.example.com
mx: *.mail.example.net
max_age: 1209600
Common problems and fixes
Certificate errors. The policy host needs its own valid certificate covering mta-sts.yourdomain. A certificate only for www or the bare domain isn't enough.
Redirects. Many web hosts redirect everything to www or to a page. Senders must not follow redirects, so they never see your policy. Serve the file directly.
MX host not in the policy. This usually happens after a provider change or adding a filtering service. In enforce mode, senders refuse to deliver to that host. Add the new host, publish the file, and change the id in the TXT record so senders fetch it again.
Short max_age. RFC 8461 expects a value of weeks or more, so a cached policy keeps protecting you if an attacker blocks the next fetch. Use a short value only while testing.
Changing the policy without changing the id. Senders cache the policy and only re-fetch when the id changes. Update the id every time you edit the file.
Read MTA-STS and TLS-RPT explained for the full setup.
Limitations
- We fetch the policy once, from our server, with a 5-second limit. A slow server may work for senders that wait longer.
- We compare your current MX records with the policy. We don't connect to your mail servers to test their own TLS certificates, which senders in enforce mode also check.
- MTA-STS only protects mail from senders that support it. Many large providers do; some smaller servers don't.
Related
Run the full Email Health Check to see MTA-STS alongside MX, SPF, DKIM and DMARC.
Frequently asked questions
What is MTA-STS?
MTA-STS (RFC 8461) lets a domain tell sending mail servers to always use encrypted, authenticated TLS when delivering to it. Without it, an attacker on the network path can strip encryption from SMTP and read or alter mail in transit.
What's the difference between testing and enforce mode?
In testing mode, senders still deliver if TLS fails and send you a TLS-RPT report about the failure. In enforce mode, senders that support MTA-STS refuse to deliver over a bad or missing TLS connection. Start in testing, then switch to enforce.
Why does my policy need to list every MX host?
Senders in enforce mode only deliver to MX hosts that match an mx line in your policy. If you change mail provider or add a filtering service, update the policy and the id in the TXT record before you change the MX records.
Do I need TLS-RPT as well?
It's optional but strongly recommended. TLS-RPT (RFC 8460) asks senders to email you daily reports of TLS failures, which is the only way to know whether switching to enforce would block legitimate mail.
Is it safe to let you fetch my policy file?
Yes. We request only https://mta-sts.yourdomain/.well-known/mta-sts.txt, the public URL every sender reads. We refuse private addresses, don't follow redirects, and stop after 5 seconds or 64 KB.
Related guides
MTA-STS and TLS-RPT explained: how to set them up safely
What MTA-STS and TLS-RPT protect against, the DNS records and policy file you need, testing vs enforce mode, and safe rollout behind a filtering gateway.
9 min read Email security basicsIs my email encrypted in transit? STARTTLS, MTA-STS and DANE explained
What STARTTLS does for email, why opportunistic TLS can be downgraded, how MTA-STS and DANE enforce it, what Gmail's lock icons mean, and where TLS stops.
9 min read Running email day to dayEmail security checklist for small businesses in 2026
A practical 2026 email security checklist for small businesses: MFA, SPF, DKIM and DMARC, filtering, backups, staff training and an incident plan.
9 min read