MTA-STS Checker
- DNS-Based Scan
- Non-Intrusive Analysis
What is MTA-STS?
MTA-STS (SMTP MTA Strict Transport Security, RFC 8461) lets a domain tell sending mail servers to deliver its mail only over authenticated TLS to the MX hosts it lists. It has two parts: a TXT record at _mta-sts followed by the domain, with v=STSv1 and an id, and a policy file at https://mta-sts followed by the domain at /.well-known/mta-sts.txt.
Without it, STARTTLS is opportunistic: an attacker who can delete the STARTTLS response or redirect the SMTP session can downgrade or intercept delivery (RFC 8461, section 1).
This checker looks up the TXT record, fetches the policy file over HTTPS and reads its mode, and checks the TLS-RPT record at _smtp._tls followed by the domain (RFC 8460). It does not test the MX hosts' certificates.
How the MTA-STS check scores the policy
mode: enforce- Full credit.
mode: testing- Scores 80.
mode: none- Scores 50.
- No readable mode
- A policy file without a mode the check can read scores 70.
- No reachable policy file
- A TXT record without a policy file the check can fetch scores 40.
- TLS-RPT
- A record with a rua reporting address scores 100, and 50 without one.
Common MTA-STS problems and how to fix them
Policy file not reachable
Senders need both the TXT record and the policy file. The file has to be served over HTTPS from the mta-sts host, with a certificate valid for that name.
Fix: Publish the file at /.well-known/mta-sts.txt on the mta-sts host, served as text/plain, and check that the host name resolves and its certificate is valid.
Testing mode left on
In testing mode, senders still deliver over connections that fail validation and only report the failures.
Fix: Once TLS-RPT reports show no failures, change the mode to enforce and change the id in the TXT record so senders fetch the new policy.
Policy mode set to none
none tells senders the domain has no active policy. RFC 8461 uses it to withdraw MTA-STS (section 8.3).
Fix: Use testing or enforce, unless you are retiring MTA-STS.
No MTA-STS record
Without MTA-STS, senders cannot tell that your domain expects authenticated TLS, so delivery can be downgraded.
Fix: Publish the policy file first, then the TXT record with a new id.
_mta-sts.example.com TXT "v=STSv1; id=20261018T000000"
No TLS-RPT reporting address
A TLS-RPT record without rua sends no reports, and without TLS-RPT you get no reports at all.
Fix: Publish v=TLSRPTv1 with a rua address at _smtp._tls for the domain.
_smtp._tls.example.com TXT "v=TLSRPTv1; rua=mailto:tls-reports@example.com"
MTA-STS policy file and records
_mta-sts TXT- v=STSv1 and an id of up to 32 letters and digits. Change the id whenever the policy changes.
version: STSv1- The first field of the policy file.
mode:- The policy mode: enforce, testing or none.
mx:- One line per MX host name or wildcard pattern, such as *.example.net.
max_age:- How long senders may cache the policy, in seconds, up to 31557600 (about a year).
_smtp._tls TXT- The TLS-RPT record: v=TLSRPTv1 and a rua address for reports about TLS failures.
Example policy file
version: STSv1 mode: enforce mx: mail.example.com max_age: 604800
Sources
More email authentication tools
- SPF CheckerLook up a domain's SPF record and its DNS lookup count.
- DMARC CheckerCheck a domain's DMARC policy and reporting address.
- DKIM CheckerFind DKIM public keys under common selectors.
- BIMI CheckerCheck a BIMI record and its DMARC requirement.
- SPF Record GeneratorBuild an SPF record and count its DNS lookups.
- DMARC Record GeneratorBuild a DMARC record with the right tags.
- Email Security AnalyzerGrade every email authentication record at once.
Beyond DNS records
These records stop other people sending mail as your exact domain. They do not stop phishing from lookalike domains or from compromised accounts, which send authenticated mail. Vigilbase OS connects the security tools you already pay for, including Microsoft 365, Google Workspace, Proofpoint and Mimecast. The Vigil agent investigates high-severity incidents and Vigilbase analysts handle exceptions.