Skip to main content

Confirm

Are you sure?

Email · Checked once per domain

MTA-STS and TLS-RPT (email transport security)What it checks and how to fix it

What it checks

Skips domains without an MX record. Otherwise looks for the _mta-sts TXT record, the policy file at https://mta-sts.<domain>/.well-known/mta-sts.txt and the _smtp._tls TLS-RPT record. Passes when all three are present, warns when only some are, fails when none are, and reports inconclusive when the TXT record exists but the policy host cannot be reached.

Why it matters

Mail servers encrypt SMTP only opportunistically, so an attacker on the network path can strip STARTTLS and read or alter incoming mail. MTA-STS tells sending servers to insist on a valid TLS connection to your MX hosts. TLS-RPT sends you daily reports when deliveries fail that requirement, so a misconfiguration shows up before mail is lost.

How to fix it

MTA-STS takes three pieces.

1. A policy file served at https://mta-sts.example.com/.well-known/mta-sts.txt with a valid certificate for mta-sts.example.com. List every MX host; start with mode: testing:

version: STSv1
mode: testing
mx: aspmx.l.google.com
mx: *.aspmx.l.google.com
max_age: 86400

Any static HTTPS host works (GitHub Pages, Cloudflare Pages or a Worker, an S3 bucket behind a CDN). With nginx:

server {
  listen 443 ssl;
  server_name mta-sts.example.com;

  location = /.well-known/mta-sts.txt {
    default_type text/plain;
    alias /var/www/mta-sts/mta-sts.txt;
  }
}

2. DNS records, including one for the policy host:

_mta-sts.example.com.    3600  IN  TXT    "v=STSv1; id=20261030000000"
_smtp._tls.example.com.  3600  IN  TXT    "v=TLSRPTv1; rua=mailto:tls-reports@example.com"
mta-sts.example.com.     3600  IN  CNAME  your-static-host.example.net.

Change the id every time you edit the policy file, or senders keep the cached copy.

3. Enforce. Once the TLS reports come back clean, switch to mode: enforce and raise max_age to a week or more (604800).

dig +short TXT _mta-sts.example.com
curl https://mta-sts.example.com/.well-known/mta-sts.txt

Monitor this automatically

Full Stack Audit runs this check and 126 others on your site on a schedule, and emails you when one that passed starts failing.

More Email checks