Introduction
MTA-STS — Mail Transfer Agent Strict Transport Security — is the SMTP transport equivalent of HTTPS for the web. It tells other mail servers: "When you send mail to my domain, use TLS, and don't accept a downgrade." Without MTA-STS, attackers can sometimes intercept email in transit by forcing connections to plaintext.
This article explains what MTA-STS does, how it complements DMARC, and how to deploy it.
Why this topic matters
DMARC and SPF/DKIM protect against spoofing — fake messages claiming to be from your domain. MTA-STS protects against eavesdropping and tampering — real messages intercepted in transit. The two address different threats and should be deployed together for a complete posture.
How MTA-STS works
The mechanism:
- You publish a policy at
https://mta-sts.yourdomain.com/.well-known/mta-sts.txtdeclaring TLS requirements. - You publish a DNS record at
_mta-sts.yourdomain.comreferencing the policy. - Sending mail servers fetch your policy and enforce TLS on connection.
The HTTPS policy file looks like:
“text version: STSv1 mode: enforce mx: mail.yourdomain.com max_age: 604800 “
Modes:
none— policy declared but not enforced. Testing only.testing— enforce but report failures rather than block.enforce— block messages that can't establish TLS.
What it prevents
Three attack types MTA-STS specifically defeats:
- STARTTLS stripping. Attackers in transit remove the TLS upgrade signal, forcing plaintext.
- Certificate impersonation. Without MTA-STS, sending servers accept self-signed or invalid certs. With it, only valid certs from the published MX work.
- MX hijacking. MTA-STS pins the legitimate MX hosts; rogue MXs injected via DNS attacks fail.
For domains handling sensitive mail, all three are real concerns.
How it pairs with DMARC
- DMARC stops spoofed mail at the receiver side.
- MTA-STS stops eavesdropping at the transit layer.
- TLS-RPT reports failures back to you for monitoring.
The three together cover identity, transport, and visibility. DMARC, BIMI, MTA-STS, and TLS-RPT: the modern email security stack covers the full architecture.
Step-by-step approach to MTA-STS
- Prepare HTTPS hosting for the policy file. Most domains use a subdomain like
mta-sts.yourdomain.com. - Author the policy. Start in
testingmode. - Publish the DNS record at
_mta-sts.yourdomain.com. - Publish TLS-RPT record to receive failure reports.
- Monitor reports. After a week of clean reports, move to
enforce.
Best practices
- Start in testing mode. Catches misconfiguration before blocking real mail.
- Pair with TLS-RPT. You need the feedback channel.
- Cache wisely.
max_ageof 604800 (1 week) is typical. - Verify MX hosts have valid certificates. Common gotcha — internal MX hosts often have self-signed certs.
- Use HTTPS hosting that won't go down. Policy fetch failures cause inconsistent enforcement.
Recommended next step
If you have DMARC at enforcement, MTA-STS is a quick add-on. Start with testing mode, monitor TLS-RPT for a week, move to enforce. Total deployment: 1-2 hours of work plus a monitoring window.
FAQ
Do all senders support MTA-STS?
Major mailbox providers (Google, Microsoft, Yahoo) and most commercial mail platforms support it. Smaller senders may not.
Will MTA-STS break inbound mail from non-supporting senders?
No. Senders that don't support MTA-STS simply don't fetch your policy and connect normally. The policy only affects senders that check it.
What's the difference from DANE?
DANE uses DNSSEC for TLS authentication; MTA-STS uses HTTPS. MTA-STS has wider deployment because it doesn't require DNSSEC.
Do I need a separate certificate?
You need a valid TLS certificate on mta-sts.yourdomain.com (for the policy HTTPS) and on your MX hosts. Standard Let's Encrypt or commercial certs work.
Should small businesses deploy MTA-STS?
Yes if they handle sensitive mail. The work is small; the transport-security gain is real.
Final thoughts
MTA-STS is the transport-layer companion to DMARC. Where DMARC addresses identity, MTA-STS addresses confidentiality and integrity in transit. Both are needed for a serious email security posture.
The deployment is bounded — policy file, DNS record, monitoring. Once in place, MTA-STS runs itself.