Loading...
Loading...
Check your SMTP TLS policy the way receiving MTAs do.
Hands off to the full WebShield scanner, which covers this check alongside every other header, DNS and email auth probe.
Opportunistic TLS for email is exactly as weak as it sounds: a man-in-the-middle can strip STARTTLS and receiving servers will happily fall back to plaintext. MTA-STS (RFC 8461) fixes this by letting the receiving domain publish an HTTPS-backed policy that declares its MX hosts and requires TLS. WebShield fetches the `_mta-sts` DNS record, resolves the policy at `https://mta-sts.<domain>/.well-known/mta-sts.txt`, and validates every field against the spec.
Without MTA-STS, an attacker who can MITM SMTP between two mail servers can force plaintext delivery just by stripping STARTTLS from the initial banner. MTA-STS in enforce mode tells conformant senders (Gmail, Outlook, and growing) to refuse delivery rather than fall back. Combined with TLS-RPT, you also get forensic reports when something breaks.
The scanner does DNS first - looking up _mta-sts.<domain> TXT for v=STSv1 and the policy id. It then fetches https://mta-sts.<domain>/.well-known/mta-sts.txt over HTTPS with strict certificate validation. The policy body is parsed line-by-line and each field is checked against RFC 8461. The MX entries are cross-referenced against the domain's actual MX records.
_mta-sts.example.com. IN TXT "v=STSv1; id=20260417T000000Z"version: STSv1
mode: enforce
mx: mx1.example.com
mx: mx2.example.com
mx: *.mail.example.com
max_age: 604800server {
listen 443 ssl http2;
server_name mta-sts.example.com;
ssl_certificate /etc/ssl/mta-sts/fullchain.pem;
ssl_certificate_key /etc/ssl/mta-sts/privkey.pem;
location = /.well-known/mta-sts.txt {
default_type text/plain;
alias /var/www/mta-sts/mta-sts.txt;
}
}1. Create a Pages project "mta-sts" serving /.well-known/mta-sts.txt
2. Add custom domain mta-sts.example.com
3. Cloudflare issues the edge certificate automatically
4. Publish the TXT record at _mta-sts.example.comtesting mode tells senders to evaluate the policy and emit TLS-RPT reports, but still deliver if the policy fails. enforce mode refuses delivery on policy failure. Roll out in testing for at least two weeks, watch the reports, then flip to enforce.
DANE (TLSA records) pins the receiving certificate via DNSSEC-signed TLS records. MTA-STS uses HTTPS and the Web PKI instead, which does not require DNSSEC. Both achieve the same goal - preventing STARTTLS stripping - and the biggest email providers (Gmail, Microsoft) support MTA-STS widely; DANE adoption is concentrated in Europe.
Yes. RFC 8461 requires the policy be at https://mta-sts.<domain>/.well-known/mta-sts.txt. It cannot be on the apex domain. A common pattern is a tiny static bucket or CDN edge serving that single file.
Change the id in the TXT record every time you change the policy body. Senders cache on the id, so an updated body with the old id will be ignored. A timestamp-based id (YYYYMMDDTHHMMSSZ) is a convention that prevents collisions.