RFC 8461 MTA-STS · RFC 7672 DANE · RFC 8460 TLS-RPT · 2-4 week testing observation before enforce

STARTTLS is opportunistic. Three protocols turn the opportunity into a guarantee.

STARTTLS defined in RFC 3207 from 1999 was a meaningful improvement over plaintext SMTP. Twenty-six years later it is also the protocol that lets a network-positioned attacker strip the STARTTLS command from the EHLO response and silently force email delivery in cleartext. The receiving server has no way to detect the downgrade because the protocol explicitly allows the fallback. Three protocols published between 2018 and 2019 close this gap. MTA-STS under RFC 8461 publishes the receiver TLS policy over HTTPS and a sender that supports MTA-STS refuses to deliver if TLS fails. DANE under RFC 7672 anchors the certificate fingerprint in DNSSEC-signed DNS records, eliminating the Trust On First Use window that MTA-STS still retains. TLS-RPT under RFC 8460 delivers daily JSON reports of TLS negotiation outcomes so the domain owner knows which senders honored the policy and which failed. Gmail enforces MTA-STS since 2020, Microsoft 365 since 2022. EMP runs the three-protocol deployment end-to-end with the 2-4 week testing observation period that prevents enforce mode from blocking legitimate inbound mail.

RFC 8461MTA-STS specification
IETF Sept 2018 · stable standard
2020Gmail MTA-STS enforcement
Microsoft 365 added 2022
2-4 weekstesting observation
Before enforce cutover
TLS 1.2+minimum per RFC 8461
TLS 1.3 preferred
The downgrade attack · why STARTTLS alone is not enough

The attack takes seconds. The receiver never knows it happened.

An SMTP downgrade attack works as follows. The sending mail server connects to the receiving mail server on port 25 and issues EHLO. The receiving server responds with its supported extensions including STARTTLS. A network attacker positioned between the two servers (compromised router, hostile transit ISP, state-level adversary, malicious VPN endpoint) intercepts the response and strips the STARTTLS line before forwarding to the sender. The sender sees no STARTTLS capability and proceeds in plaintext. The entire email transits the attacker network in cleartext. Neither sender nor receiver detects this because the protocol explicitly allows the fallback. The diagram below maps the attack against the same scenario with MTA-STS enforce mode active on the receiver.

SMTP downgrade attack · without MTA-STS vs. with MTA-STS enforce

Same attacker · same network position · two different outcomes

RFC 8461 mitigation
SCENARIO A · WITHOUT MTA-STS · DOWNGRADE SUCCEEDS Sender MTA EHLO mail.brand.com expects STARTTLS Network attacker Strips STARTTLS from EHLO response Receiver MTA Advertises STARTTLS via 250-STARTTLS EHLO forwarded 250-STARTTLS stripped No STARTTLS seen MAIL DATA delivered in PLAINTEXT · attacker reads everything SCENARIO B · WITH MTA-STS ENFORCE · DOWNGRADE BLOCKED Policy: mta-sts.brand.com mode: enforce mx: mail.brand.com · TLS 1.2+ Sender MTA Fetches policy via HTTPS HTTPS policy fetch · attacker cannot tamper Network attacker Tries to strip STARTTLS Receiver MTA TLS 1.2+ honored TLS handshake Encrypted Sender refuses plaintext fallback because policy requires TLS · message queues for retry instead of leaking

The diagram concentrates on the manipulation point that makes the downgrade attack possible: the EHLO response containing the STARTTLS capability is sent over an unencrypted TCP connection because TLS has not been negotiated yet. The attacker can rewrite that response. MTA-STS shifts the trust anchor from the unprotected EHLO exchange to an HTTPS-fetched policy file, which the attacker cannot tamper with because HTTPS itself has integrity protection. The first time a sender connects to the receiver, it fetches the policy over HTTPS and caches it for the duration declared in max_age. After that, the sender knows TLS is required and refuses to deliver in plaintext regardless of what the network reports. The cached policy is the answer to the EHLO manipulation. The residual Trust On First Use window before the first policy fetch is the remaining attack surface that DANE addresses by anchoring trust in DNSSEC-signed DNS itself.

Three RFCs · published 2018-2019 · stable standards in 2026

Three protocols, one stack. Each one closes a different gap.

The three protocols below were designed as complementary layers. MTA-STS provides the policy and broad compatibility. DANE eliminates the TOFU residual when DNSSEC is available. TLS-RPT provides operational visibility into negotiation outcomes. Deploying all three is the 2026 baseline for any organization that takes inbound SMTP transport security seriously; deploying only MTA-STS plus TLS-RPT is the pragmatic choice when the DNS registrar does not support DNSSEC.

Layer 01

MTA-STS

RFC 8461 · September 2018

Policy file published over HTTPS at /.well-known/mta-sts.txt. DNS TXT record at _mta-sts.domain. Sender validates certificate chains to trusted CA, SAN matches MX hostname. No DNSSEC dependency.

_mta-sts.brand.com TXT "v=STSv1; id=20260519T1200"
Layer 02

DANE for SMTP

RFC 7672 · October 2015

TLSA records publish certificate fingerprint signed by DNSSEC. Eliminates TOFU window. Recommended profile: DANE-EE(3) SPKI(1) SHA2-256(1). Requires DNSSEC across the full DNS chain.

_25._tcp.mail.brand.com TLSA 3 1 1 [SHA256...]
Layer 03

TLS-RPT

RFC 8460 · September 2018

Daily JSON aggregate reports from sending MTAs on TLS negotiation outcomes. Failures grouped by type: certificate, STARTTLS, policy fetch, hostname mismatch. Critical for testing-mode observation.

_smtp._tls.brand.com TXT "v=TLSRPTv1; rua=mailto:tls@brand.com"

The three records together form the minimum DNS footprint. One TXT record at the MTA-STS discovery name declares that an MTA-STS policy exists and provides a version identifier the sender can use to detect policy updates. One or more TLSA records per MX publish the certificate fingerprint for DANE-capable senders. One TXT record at the TLS-RPT discovery name tells sending MTAs where to deliver the daily aggregate reports. The policy file itself sits on the HTTPS server at mta-sts.domain.com and contains the actual policy directives: mode (none, testing, enforce), the list of allowed MX hostnames, and max_age controlling the policy cache duration. The mta-sts.domain.com server can be the same as the main brand HTTPS host or a separate dedicated host; both patterns work, and the choice typically follows the existing TLS certificate management practice of the organization.

MTA-STS vs DANE · operational comparison · what fits which situation

The two policy mechanisms are not redundant. Both run in parallel.

A common confusion in deployment is treating MTA-STS and DANE as alternatives where the organization picks one. The two protocols solve overlapping but distinct problems and the recommended 2026 architecture deploys both where DNSSEC is available, MTA-STS alone where it is not. The table below maps the operational differences across six dimensions that matter during deployment planning.

MTA-STS vs DANE · six-dimension operational comparison

Both protocols prevent SMTP downgrade attacks via different trust anchors

Aspect MTA-STS · RFC 8461 DANE · RFC 7672
Trust anchor Web PKI · CA-signed TLS certificates · standard browser trust roots DNSSEC · TLSA records cryptographically anchored in signed DNS chain
DNSSEC requirement Not required · works with any DNS configuration Mandatory · entire DNS chain root to TLSA must be signed
First-connection (TOFU) Vulnerable · first connection before policy cache is at risk Not vulnerable · DNSSEC provides immediate trust
Operational overhead HTTPS server hosting policy file · DNS TXT records · CA cert lifecycle DNSSEC operations · TLSA records updated on every cert rotation · key rollover coordination
Sender support 2026 Broad · Gmail since 2020, M365 since 2022, Yahoo, Mimecast, Proofpoint Moderate · Postfix and Exim default support, Microsoft 365 limited adoption
Best fit Default choice · works for any organization regardless of DNS provider DNSSEC-capable organizations · European gov/academic networks · highest-assurance scenarios

One observation from the operational comparison: some large mail systems enforce MTA-STS even when DANE is available (as noted in the Arch Linux deployment guide), which means the receiving side cannot deploy DANE alone and rely on senders to use it preferentially. The pragmatic interpretation is that DANE is additive for senders that support it, and MTA-STS is the universal protection layer. The cost of running both is small once the prerequisites are in place.

When this service does not fit

A small organization with no formal information security program does not need full DANE.

For a small business with under 50 employees, no regulatory transport encryption requirement, no SOC 2 or ISO 27001 audit on the roadmap, the full DANE deployment is overinvestment. MTA-STS plus TLS-RPT is the right baseline for this size organization: meaningful protection against downgrade attacks, no DNSSEC complexity, deployment in 2-4 weeks. The standalone TLS-RPT Monitoring tier ($380 setup) provides visibility into existing TLS posture before any policy commitment. The break-even point where DANE becomes economically defensible sits at organizations with formal infosec programs, regulatory transport encryption obligations under HIPAA Security Rule transmission security or PCI DSS 4.0.1 requirement 4.2, SOC 2 Type II audit with auditor reviewing transport encryption controls, or government and academic networks operating in DNSSEC-mandated environments. For organizations below that threshold EMP honestly recommends MTA-STS plus TLS-RPT and revisiting DANE later if the regulatory or audit pressure changes.

Implementation · 5 phases · 4 to 8 weeks from kickoff to enforce

How the deployment moves from testing to enforce without breaking inbound mail.

Phase 01
Week 1

MX + certificate audit

All MX servers inventoried. TLS versions verified (1.2+). Certificate validity, SAN coverage, chain to trusted root checked. Gaps fixed before policy publication.

Phase 02
Week 1-2

Policy + DNS publish

MTA-STS policy file at .well-known endpoint with mode=testing, max_age=86400. DNS TXT records published. TLS-RPT receiver configured.

Phase 03
Week 2-6

Testing observation

Daily TLS-RPT reports analyzed. Failure patterns surfaced. Misconfigurations fixed (typically expired secondary MX certs, TLS 1.0 holdouts, hostname mismatches).

Phase 04
Week 6-7

Enforce cutover

Mode flipped from testing to enforce. max_age extended to longer cache duration. Cross-verification against major sender seed accounts (Gmail, M365, Yahoo).

Phase 05
Week 7-8

DANE (optional) + handoff

If DNSSEC active, TLSA records published with DANE-EE profile. Renewal monitoring runbook to IT team. Quarterly certificate expiration alerts configured.

Transparent pricing · MTA-STS + DANE + TLS-RPT

Four tiers including standalone TLS-RPT monitoring.

The TLS-RPT Monitoring tier serves organizations wanting visibility into current TLS posture before committing to MTA-STS deployment. The Multi-Domain Enterprise tier serves organizations with multiple brands and subsidiaries needing consistent transport encryption across the estate.

MTA-STS Setup

Single domain · testing to enforce.

$1,450 USD + $280/mo
  • MX certificate audit
  • Policy hosting at .well-known
  • DNS publication
  • TLS-RPT receiver
  • 2-4 week testing observation
  • Enforce cutover
Request setup

Multi-Domain

5-25 domains in estate.

$6,800 USD + $1,200/mo
  • Centralized policy management
  • Unified reporting dashboard
  • DNSSEC per domain where applicable
  • Quarterly compliance review
  • Brand-level segregation
  • Infosec team coordination
Talk enterprise

TLS-RPT Monitoring

Standalone reporting only.

$380 USD + $120/mo
  • TLS-RPT receiver
  • Daily JSON ingestion
  • Weekly summary email
  • Threshold failure alerts
  • No policy commitment
  • Ideal for pre-MTA-STS visibility
Activate monitoring
What the CISO, infrastructure architect, and email administrator ask

The real questions when a security team evaluates MTA-STS deployment.

"Our SMTP is on Microsoft 365 Exchange Online. Does MTA-STS even apply?"

Yes for inbound. Policy is published by the receiving organization regardless of downstream mail platform. For Exchange Online tenants, MX hosts are protection.outlook.com which Microsoft already runs at TLS 1.2+ with valid certs. Deployment work: .well-known policy file on your domain HTTPS, DNS TXT records, TLS-RPT receiver. For outbound, M365 honors recipient MTA-STS since 2022. Microsoft documents the Exchange Online configuration; EMP setup completes in 2-3 weeks for a typical tenant.

"What is the actual risk if we just stay on opportunistic STARTTLS without MTA-STS?"

The risk is downgrade attacks stripping STARTTLS in transit. Likelihood depends on network path. Public internet between major data centers (Gmail to Exchange Online): risk low because major peering is well-managed. Networks of unknown trust posture (legacy ISP transit, low-cost VPS, country-level filtering, hostile state networks): risk meaningfully higher. Threat actors: state-level adversaries, criminal groups intercepting business email, surveillance operators. Without TLS-RPT you have no way to know if downgrades are happening to your inbound today; reports surface the actual occurrence rate.

"How does this interact with our existing certificate management on the MX servers?"

MTA-STS adds the constraint that MX certificates must remain valid and chain to trusted CA at all times. The constraint is identical to web HTTPS certificate hygiene; the only difference is the consequence of expiration. Expired MX cert under MTA-STS enforce means inbound mail bounces rather than just generates browser warnings. The mitigation is standard: monitor certificate expiration with 30-60 day alerts, automate renewal where possible (Let's Encrypt, ACME), and stage certificate rotations during business hours when the email administrator can respond if something fails. For organizations using a corporate CA (DigiCert, Sectigo, GlobalSign, Entrust) rather than Let's Encrypt, the existing certificate procurement runbook continues to apply with MTA-STS adding the operational discipline rather than changing the procurement process. EMP delivers the certificate monitoring runbook as part of the setup.

"DANE requires DNSSEC. Our registrar does not support DNSSEC. Are we stuck with MTA-STS only?"

For now, yes, MTA-STS only. MTA-STS provides substantial protection on its own; DANE addition is incremental for most threat models. DNSSEC adoption among registrars remains incomplete in 2026. DNSSEC-capable: Cloudflare, AWS Route 53, Google Domains (Squarespace), DNSimple, Hover, Gandi, Namecheap (with caveats). Options if registrar lacks support: migrate to DNSSEC-capable registrar, accept TOFU residual and deploy MTA-STS only, or host DNS at DNSSEC-capable provider while keeping registration elsewhere. EMP runs the analysis during discovery.

"What happens to inbound mail from servers that do not support MTA-STS?"

Senders that do not support MTA-STS continue to deliver using opportunistic STARTTLS as before. MTA-STS is a strict improvement, not a breaking change. The protocol explicitly states that a sender that does not implement MTA-STS should behave as if no policy exists, which means the message gets delivered using whatever TLS the sender can negotiate, including potentially plaintext if STARTTLS is stripped or unavailable. The TLS-RPT reports show the breakdown: which senders honored MTA-STS, which delivered with TLS without enforcing the policy, which delivered without TLS at all. Over time as MTA-STS adoption grows on the sender side, the coverage of your inbound protection grows automatically without any additional deployment work. The 2026 baseline for major commercial senders (Gmail, M365, Yahoo, large ISP webmail) is honoring MTA-STS; the gaps are smaller senders and legacy systems where adoption is still catching up.

"Can we test the policy without committing to enforcement?"

Yes, that is exactly what testing mode is designed for. Recommended deployment sequence: testing for 2 to 4 weeks before enforce. In testing, policy declares mode=testing; sender attempts TLS per policy, reports failures via TLS-RPT, but delivers in plaintext as fallback. Domain owner gets visibility without losing mail. Testing observation surfaces misconfigurations (certs expiring, forgotten MX hosts, secondary MX on older TLS). After fixes, cutover to enforce with high confidence. EMP setup includes full testing observation period.

MTA-STS + DANE + TLS-RPT frequently asked questions

What CISOs and infrastructure leads ask during evaluation.

What does MTA-STS protect against that plain STARTTLS does not?

STARTTLS (RFC 3207, 1999) is opportunistic. The sending server checks if the receiver advertises STARTTLS, and if so negotiates TLS. Network attacker can strip STARTTLS from EHLO response and force plaintext.

MTA-STS closes the gap:

  • Policy published over HTTPS at mta-sts.domain.com/.well-known/mta-sts.txt
  • Declares TLS mandatory + lists valid MX hostnames
  • Sender refuses delivery if TLS fails or certificate invalid
  • TOFU window remains until policy cached (DANE eliminates this)
Do Gmail, Microsoft 365, and other major providers honor MTA-STS?

Yes for major providers:

  • Gmail / Google Workspace: enforce mode since 2020
  • Microsoft 365: outbound enforcement since 2022
  • Yahoo Mail: honors MTA-STS for outbound
  • Mimecast, Proofpoint: honor recipient policies
  • Large ISP mail systems: broad coverage

TLS-RPT reports show empirically which senders honored the policy for your specific domain audience.

What does testing mode versus enforce mode actually mean?

Three modes in MTA-STS policy file:

  • testing: sender attempts TLS, reports failures via TLS-RPT, but delivers in plaintext as fallback. Recommended starting state, 2-4 weeks.
  • enforce: sender refuses delivery if TLS fails or certificate invalid. Message stays in queue for retry.
  • none: cleanly disables existing policy. Senders with cached policy must wait for max_age expiration.

Migration: testing 2-4 weeks → analyze reports → fix misconfigurations → cutover to enforce with longer max_age.

What is the difference between MTA-STS and DANE in practical terms?

Different trust mechanisms:

  • MTA-STS: web PKI trust, no DNSSEC needed, but TOFU vulnerable on first connection
  • DANE: DNSSEC trust anchor, no TOFU, but requires DNSSEC across entire DNS chain

Pragmatic 2026 pattern: MTA-STS first for broad compatibility, DANE added where DNSSEC is already in place. Coexist without conflict.

How does TLS-RPT reporting actually work in practice?

RFC 8460 daily aggregate JSON reports from sending MTAs:

  • TXT record at _smtp._tls.domain.com declares destination
  • Reports contain success counts, failure counts grouped by type
  • Failure types: certificate validation, STARTTLS missing, hostname mismatch, expired cert, policy fetch error
  • JSON format, gzip compressed when delivered by email
  • Volume: 5-15 daily for low-volume domain, 50-100 for high-volume

EMP tooling analyzes reports automatically and surfaces failure patterns.

What are the actual prerequisites before deploying MTA-STS?

Five prerequisites:

  • All MX servers support TLS 1.2+
  • All MX certificates: valid, trusted CA, SAN matches hostname
  • Web endpoint at mta-sts.domain.com over HTTPS for policy file
  • DNS control for TXT records (_mta-sts + _smtp._tls)
  • Email or HTTPS endpoint for TLS-RPT reports

Common gaps: secondary MX with older TLS, wildcard certificate not covering specific MX hostname. Audit in week 1 surfaces these.

What happens to legitimate email when MTA-STS is in enforce and TLS fails?

Sender refuses to deliver in plaintext. Message stays in queue:

  • Retried per sender policy (15-60 min, exponential backoff, up to 5 days)
  • If TLS issue resolved within retry window → eventually delivers
  • If not → bounces back as delivery failure

Confidentiality preserved at cost of delivery latency. Mitigation: 2-4 week testing observation surfaces misconfigurations before enforce; certificate renewal monitoring with 30-day alerts prevents most failures.

How does this interact with email forwarding and mailing lists?

MTA-STS operates per hop. Each hop enforces or not independently.

  • Forwarders (vanity domain → Gmail/M365): policy applies to direct connection
  • Mailing lists: list operator effectively becomes sender to each member
  • Protocol does not break forwarding but operational complexity increases

EMP runs forwarding analysis during discovery; for substantial forwarding patterns the recommendation may be receiving-end MTA-STS only rather than across all hops.

MTA-STS discovery. Audit + proposal · 48 hours · no obligation.

The first call requires three data points: number of MX hosts in production, current TLS versions and certificate setup, registrar relationship (relevant for DNSSEC if DANE is on the roadmap). With those three points EMP delivers a proposal within 4 business days with recommended tier, gap analysis on the prerequisites, and deployment timeline. If your TLS posture is already strong and the only missing piece is the policy itself, the deployment runs in 2-3 weeks; if the audit surfaces MX servers without TLS 1.2 or certificate issues, the timeline extends to address those gaps first.

Bilateral NDA in 48h · Mon-Fri 9-18 GMT-5 · Atrium Tower Floor 15