MTA-STS vs DANE for SMTP: Trust Anchor Comparison, Coexistence Rules, Provider Support (RFC 8461 vs RFC 7672)

A side-by-side comparison deep dive of the two standards that protect SMTP transport against STARTTLS-stripping and downgrade attacks: MTA-STS (RFC 8461) and DANE for SMTP (RFC 7672). Both address the same threat model but use different trust anchors - MTA-STS trusts the public web PKI plus HTTPS; DANE trusts DNSSEC. This page walks through the threat model, the per-standard mechanics, a 16-row keystone comparison table, provider support reference, the RFC 7672 §1.3 coexistence rule, decision matrix for which to deploy first, migration paths between the two, common mistakes operators make, troubleshooting, and FAQ.

This reference is provided in English. MTA-STS and DANE for SMTP are specified in English-language RFCs (RFC 8461, RFC 7672, RFC 6698, RFC 8460) and the canonical vocabulary (TLSA, Usage, Selector, MatchingType, DANE-EE, STARTTLS, DNSSEC, MTA-STS policy file) does not translate. We keep the body in the source language so technical terms remain consistent with the specifications.

TL;DR

  • Same threat, different trust anchor: Both MTA-STS (RFC 8461) and DANE for SMTP (RFC 7672) defend SMTP transport against STARTTLS-stripping and downgrade attacks. They differ on what they TRUST.
  • MTA-STS trusts the public web PKI plus HTTPS. Policy lives in an HTTPS-fetched text file at https://mta-sts.example.com/.well-known/mta-sts.txt. Does NOT require DNSSEC.
  • DANE trusts DNSSEC. Policy lives in a TLSA record at _25._tcp.mx.example.com signed by DNSSEC. DOES require DNSSEC on the recipient zone.
  • Coexistence rule (RFC 7672 section 1.3): a sender that supports both prefers DANE when a TLSA record validates and falls back to MTA-STS otherwise.
  • Provider support: MTA-STS is broader (Microsoft 365, Google, Yahoo, ProtonMail, Comcast, mailbox.org). DANE is narrower but growing (Google, ProtonMail, Posteo, mailbox.org, Comcast, Hetzner, .gov sector). Microsoft 365 added DANE outbound in 2022.
  • Best practice: publish BOTH. DANE for the DANE-capable senders, MTA-STS for the rest. Add TLS-RPT (RFC 8460) to see failures from either.
  • Single most common mistake: deploying DANE without DNSSEC on the zone - DANE is meaningless and SHOULD-NOT-VALIDATE per RFC 7672 section 2.1.1.

1. Overview: why two standards exist for the same problem

Both MTA-STS and DANE for SMTP exist because the SMTP protocol's STARTTLS upgrade is unauthenticated by default. An attacker that can rewrite SMTP responses on the wire can strip the STARTTLS capability and force the sender into a plaintext channel - the sender sees an opportunistic-TLS service that simply chose not to advertise TLS, and delivers the message in cleartext.

Both standards fix the same hole - they tell the sender "this recipient REQUIRES TLS and here is what the certificate should look like" - but they were developed by different working groups with different design philosophies and different assumptions about what infrastructure is universally available.

  • DANE (RFC 6698 original spec, RFC 7672 SMTP profile) came first. Released by the IETF DANE working group in 2012-2015 building on the DNSSEC ecosystem. Trust anchor: the recipient's DNSSEC-signed zone. The TLSA record IS the policy.
  • MTA-STS (RFC 8461, 2018) came later, designed by Google, Microsoft, LinkedIn, Comcast, Yahoo, and 1and1 as a DANE-alternative that does not require DNSSEC. Trust anchor: the public web PKI plus HTTPS. The policy is fetched out-of-band over HTTPS.

They are NOT competing standards in the "winner-takes-all" sense - the IETF explicitly designed MTA-STS to COEXIST with DANE, and the standards documents (RFC 8461 section 2 + RFC 7672 section 1.3) reference each other. Most large providers ultimately deploy both.

2. The threat model both standards address

Both standards mitigate the same attacks. Defining the attacker capabilities precisely clarifies why different trust anchors lead to different deployment trade-offs.

2.1 STARTTLS stripping

The classic active attack: an attacker on the network path between sender and recipient SMTP server rewrites the EHLO response to remove the STARTTLS capability advertisement. The sender, seeing no STARTTLS offered, falls back to plaintext delivery. The message body, headers, and authentication credentials all transit unencrypted.

2.2 SMTP MX downgrade

A subtler variant: the attacker manipulates DNS responses so the sender routes mail to an attacker-controlled MX with a self-signed cert, a CA-signed cert for a different name, or no TLS at all. The sender connects, optionally accepts the certificate under opportunistic-TLS rules, and delivers the message to the attacker.

2.3 Certificate-mismatch acceptance

Default SMTP TLS is "opportunistic" - the sender will accept ANY valid TLS handshake regardless of whether the certificate matches the MX hostname, is expired, is self-signed, or chains to an unknown CA. Both MTA-STS and DANE upgrade this to strict certificate validation.

2.4 The DNSSEC question

The threat model assumes the attacker can spoof DNS responses (case 2.2) - otherwise no policy advertised IN DNS would be trustworthy. DANE answers this by REQUIRING DNSSEC on the recipient zone: the sender validates the DNSSEC chain end-to-end before trusting the TLSA record. MTA-STS answers this differently: the discovery TXT record is fetched over plain DNS, but the policy file itself comes over HTTPS, so the web PKI plus HTTPS chain provides the integrity guarantee instead of DNSSEC.

2.5 What neither standard addresses

  • An attacker who controls a CA in the standard root store (MTA-STS) - same threat as web-PKI-trust HTTPS everywhere.
  • An attacker who can compromise the DNSSEC signing key for the recipient zone (DANE).
  • An attacker who controls the recipient SMTP server itself - neither standard authenticates the receiver beyond hostname / cert chain.
  • Message confidentiality at rest after delivery - both standards stop at the SMTP transport layer.

3. MTA-STS in one screen

Detailed coverage of MTA-STS is in the dedicated MTA-STS deep dive. This section is the short summary needed for the comparison.

3.1 Two-record DNS contract plus HTTPS policy file

The recipient publishes:

_mta-sts.example.com.  IN  TXT  "v=STSv1; id=20260521120000"

And serves at https://mta-sts.example.com/.well-known/mta-sts.txt:

version: STSv1
mode: enforce
mx: mail.example.com
mx: mail2.example.com
max_age: 604800

3.2 Sender behaviour

  • Sender queries the _mta-sts.example.com TXT - sees the version + policy ID.
  • If the ID is new (or the cache expired), fetch the policy over HTTPS from https://mta-sts.example.com/.well-known/mta-sts.txt - the web PKI authenticates the HTTPS connection.
  • For each MX delivery attempt, verify the recipient SMTP server presents a CA-signed certificate whose subjectAltName matches one of the mx: patterns from the policy.
  • In mode: enforce, refuse delivery if no MX in the policy has a valid TLS cert.

3.3 Failure modes

  • HTTPS policy file unreachable: sender uses cached policy until max_age expires.
  • Discovery TXT record missing: sender treats the domain as MTA-STS-not-deployed (no enforcement).
  • Web PKI CA compromise: sender may accept attacker-controlled policy file.

4. DANE for SMTP in one screen

DANE for SMTP is specified by RFC 7672 (SMTP profile) building on RFC 6698 (the base DANE / TLSA spec).

4.1 TLSA record contract

The recipient publishes a TLSA record at _25._tcp.<mx-hostname> for each MX hostname:

_25._tcp.mail.example.com.  IN  TLSA  3 1 1 8E1F2DE7D81A2BCB3C0F3D9CB2A7A2D2D4A6D5C3B8E2F9A1F7C0D5B6E3A9F8C2

The four fields are: Usage / Selector / MatchingType / Certificate-Association-Data.

4.2 TLSA field reference (the values that matter for SMTP)

  • Usage: 0 PKIX-TA, 1 PKIX-EE, 2 DANE-TA, 3 DANE-EE. DANE-EE (3) is the recommended SMTP deployment per RFC 7672 section 3.1.3 - the TLSA record is bound to the end-entity certificate or key directly, bypassing the CA chain entirely.
  • Selector: 0 full certificate, 1 SubjectPublicKeyInfo. Selector 1 is the recommended SMTP deployment because it survives certificate renewal when the public key is unchanged (the cert's NotBefore / NotAfter dates rotate but the key does not).
  • MatchingType: 0 full data exact match, 1 SHA-256 hash, 2 SHA-512 hash. MatchingType 1 (SHA-256) is the recommended SMTP deployment for record-size efficiency.

The canonical SMTP TLSA deployment is therefore 3 1 1 - DANE-EE / SubjectPublicKeyInfo / SHA-256.

4.3 DNSSEC requirement (the load-bearing prerequisite)

A DANE-validating sender MUST validate the DNSSEC chain on both:

  • The MX record for the recipient domain.
  • The TLSA record at _25._tcp.<mx-hostname>.

If either DNSSEC chain is bogus, the sender MUST NOT use the TLSA association. If neither is signed (insecure delegations), DANE does not apply - the sender falls back to opportunistic TLS or MTA-STS.

4.4 Sender behaviour

  • Resolve the recipient MX record with DNSSEC validation.
  • For each MX hostname, query _25._tcp.<mx> with DNSSEC validation.
  • If a validated TLSA exists, connect via STARTTLS and validate the server certificate against each TLSA association.
  • If validation succeeds, deliver; if fails, refuse delivery (the SMTP RFC requirement bites here - DANE upgrades a soft TLS error to a hard delivery failure).

4.5 Failure modes

  • Recipient zone not DNSSEC-signed: DANE does not apply. The sender falls back. This is often-discovered the hard way: the operator publishes TLSA records, runs their checker, and the validation silently fails because the zone delegation is unsigned.
  • DNSSEC validation failure (bogus): the sender MUST refuse delivery per RFC 7672 section 2.2.1 - protecting against attacker-injected records.
  • Certificate rotation without TLSA rotation: cert fingerprint no longer matches; deliveries bounce. Use Selector 1 (SubjectPublicKeyInfo) and rotate the public key on the deliberate cadence rather than every cert renewal to avoid this.

5. Keystone comparison table: MTA-STS vs DANE for SMTP

The side-by-side reference operators read when they need to choose, deploy, or troubleshoot. Each row is a single comparison dimension.

MTA-STS (RFC 8461) compared to DANE for SMTP (RFC 7672) across the dimensions that drive deployment decisions.
Dimension MTA-STS (RFC 8461) DANE for SMTP (RFC 7672)
Trust anchor Public web PKI + HTTPS DNSSEC-signed zone
DNSSEC required on recipient No Yes - end-to-end
Policy location HTTPS file at https://mta-sts.example.com/.well-known/mta-sts.txt TLSA RR at _25._tcp.<mx>
DNS records published _mta-sts TXT (discovery) + standard MX TLSA at _25._tcp per MX + standard MX
Certificate validation Standard X.509 + hostname match to mx: patterns Match against TLSA Usage / Selector / MatchingType
Certificate rotation friction Low - any CA-signed cert with right SAN works Medium - TLSA must rotate with cert unless Selector 1 (SPKI) used and key unchanged
CA dependency Yes - depends on the public CA root store No when Usage 3 (DANE-EE) - decoupled from CAs
Policy refresh / TTL HTTPS fetch + max_age (typ. 86400-2592000s) DNS TTL on the TLSA record
Failure mode on enforce Mail held pending policy fetch + cached enforcement Hard SMTP delivery failure if validation fails
Observability TLS-RPT (RFC 8460) reports TLS-RPT (RFC 8460) reports
Sender-side support Microsoft 365, Google, Yahoo, ProtonMail, mailbox.org, Comcast Google (outbound 2024), Microsoft 365 (outbound 2022), Comcast, Posteo, ProtonMail, Hetzner
Receiver-side support Anyone with HTTPS + a hostname Anyone with DNSSEC + a TLSA-capable DNS host
Deployment complexity Medium - HTTPS site + policy file + 2 DNS records Medium - DNSSEC + TLSA records per MX
Coexistence rule Used when no validated TLSA present Preferred when validated TLSA present (RFC 7672 §1.3)
Spec maturity RFC 8461 (Sep 2018) RFC 7672 (Oct 2015) + RFC 6698 base (Aug 2012)

6. Provider support reference (sending + receiving, as of 2026)

Which providers send via DANE, MTA-STS, or both? Which providers PUBLISH TLSA records or MTA-STS policies for inbound mail to their domains? The reference below reflects the state as of 2026 - deployment momentum is positive on both standards, so verify with the operator's published transport security page before architectural decisions.

6.1 Sending side - validates and enforces what the recipient publishes

Outbound transport security capability by provider, sender side.
Provider Outbound MTA-STS Outbound DANE Notes
Google Workspace Yes Yes (rolled out 2024) Reports via TLS-RPT to operator addresses.
Microsoft 365 (Exchange Online) Yes Yes (rolled out 2022) SMTP DANE outbound enabled by default for new tenants.
ProtonMail / Proton Mail Business Yes Yes One of the early DANE adopters.
Posteo Yes Yes German privacy provider; DANE since 2014.
mailbox.org Yes Yes Both standards supported in full.
Comcast Yes Yes Large consumer ISP; both inbound + outbound.
Yahoo / AOL Yes Limited MTA-STS broadly supported; DANE rollout in progress.
Hetzner Yes Yes European hosting provider supporting both.

6.2 Receiving side - publishes a policy / TLSA so others validate against it

Inbound transport security policy publication by domain operator.
Domain operator Inbound MTA-STS policy Inbound DANE TLSA Notes
Google (gmail.com) Yes (enforce) Yes (2024 onwards) Both published on the consumer Gmail domain.
Google Workspace tenant domains Operator-configurable Operator-configurable Tenant operator must explicitly enable both.
Microsoft 365 (outlook.com) Yes Yes Microsoft published TLSA on outlook.com in 2024.
ProtonMail / Proton Mail Yes Yes Privacy-first provider; both standards.
Posteo / mailbox.org / Tutanota Yes Yes European privacy providers; long-time DANE supporters.
Comcast (comcast.net) Yes Yes One of the early DANE deployers in 2013-2014.
GMX / web.de Yes Yes German ISPs; both standards.
.gov sector (US) Mandated by BOD 18-01 Mandated by BOD 18-01 CISA Binding Operational Directive mandates both.

Verify provider capability against the operator's own transport security documentation before architectural decisions. The matrix above is a snapshot of 2026 deployment - operators have been adding support steadily.

7. Coexistence rules - when both are deployed

The IETF designed both standards to coexist. RFC 7672 section 1.3 specifies the precedence order when a sender supports both AND the recipient publishes both:

  1. DANE first. Sender queries the _25._tcp.<mx> TLSA record with DNSSEC validation.
  2. If a validated TLSA exists, the sender uses DANE. The TLSA association determines the certificate validation outcome. MTA-STS policy lookup is skipped because DANE is already authoritative.
  3. If DNSSEC is insecure (unsigned delegation), the sender moves on - DANE does not apply.
  4. If DNSSEC is bogus (validation failure), the sender MUST NOT proceed with the original certificate regardless of MTA-STS - bogus DNSSEC indicates an attack and the connection should be aborted rather than falling back to MTA-STS.
  5. MTA-STS fallback. If DANE did not apply (case 3), the sender performs the MTA-STS discovery TXT lookup + HTTPS policy fetch and validates the cert against the MTA-STS policy.
  6. Opportunistic TLS fallback. If neither standard applies, the sender uses STARTTLS opportunistically with whatever certificate the receiver presents.

The TLS-RPT (RFC 8460) reporting endpoint at _smtp._tls.example.com receives failure reports from EITHER standard - the policy-type field in the report body identifies whether the failure was MTA-STS, TLSA, or generic STARTTLS. One reporting endpoint covers both standards.

Implication for the recipient operator: there is no downside to publishing both. A correctly deployed MTA-STS policy is invisible to DANE-only senders (they never look at it), and a correctly deployed TLSA record is invisible to MTA-STS-only senders. Coverage is strictly additive.

8. Decision matrix - which to deploy when

Operators face three common decision points. Use the matrix to short-circuit the "which should I deploy" question.

8.1 "I am starting from zero - which should I deploy first?"

  • If your zone is already DNSSEC-signed: deploy DANE first. You have the prerequisite already; adding TLSA records is cheap and protects against the strongest attacker model.
  • If your zone is NOT DNSSEC-signed: deploy MTA-STS first. DNSSEC deployment is a separate multi-week project; do not block SMTP transport security on it.
  • Plan to deploy BOTH eventually. Coverage is strictly additive - MTA-STS protects you from senders without DANE (most), DANE protects you from MTA-STS bypasses (a CA root compromise) for senders that support DANE.

8.2 "I run an internal corporate SMTP gateway - do I need either?"

  • If the gateway only sends to internal recipients: opportunistic TLS plus internal PKI is usually sufficient.
  • If the gateway sends to external recipients (the common case): publishing MTA-STS or DANE on the SENDING domain does not affect outbound TLS - it advertises INBOUND policy. You should still configure the gateway to VALIDATE recipient MTA-STS and DANE policies on outbound mail.

8.3 "I am being audited / need a compliance check-box - which is recognised?"

  • US federal sector: BOD 18-01 mandates BOTH MTA-STS and DANE for .gov domains.
  • EU NIS2 + DORA: do not name MTA-STS or DANE specifically but require "encrypted email transport with appropriate cryptographic controls" - either standard satisfies. DANE is technically stronger.
  • UK NCSC Mail Check / Cyber Assessment Framework: encourages both; specifically names MTA-STS as a deployment target.
  • BIMI: BIMI itself does not require MTA-STS or DANE, but BIMI implementations are increasingly co-deployed with transport security.

8.4 "My TLSA records validate today - can I drop MTA-STS?"

  • No - MTA-STS covers senders that do not support DANE. Microsoft 365 historically used MTA-STS before adding DANE outbound in 2022; Yahoo / AOL still rely primarily on MTA-STS as of 2026.
  • Keep both published - coverage is additive.

8.5 "DNSSEC adds operational complexity I cannot afford - is MTA-STS only acceptable?"

  • Yes. MTA-STS-only is a complete deployment and addresses the same threat model from most senders. The trade-off is web-PKI trust rather than DNSSEC trust - a compromised CA in the standard root store can issue a cert that defeats MTA-STS; DNSSEC is not susceptible to that particular attack.
  • Many medium-and-large providers (Yahoo, Office 365 historically) deploy MTA-STS only.

9. Migration paths - from one to both (or one to the other)

9.1 MTA-STS-only -> MTA-STS + DANE

  1. Verify the recipient zone is DNSSEC-signed. Use dig +dnssec example.com SOA and confirm the ad flag is set on the response.
  2. For each MX hostname, generate a TLSA record from the current SMTP server certificate. The recommended deployment is 3 1 1 (DANE-EE / SPKI / SHA-256). Tools: openssl x509 -in mail.crt -pubkey -noout | openssl asn1parse -strparse 19 -out spki.bin; openssl dgst -sha256 spki.bin (or posh-dnssec / swede / danetool).
  3. Publish the TLSA records at _25._tcp.<mx> with TTL 300-3600 during rollout (lower TTL for fast rollback).
  4. Wait for the DNS to converge + propagate through DNSSEC validators (typ. 1-2 cycles of the TTL).
  5. Validate from a DANE-capable test sender (e.g. a Posteo or mailbox.org account, or the danetool / posh-dnssec CLI verifiers).
  6. Confirm TLS-RPT reports for the next 1-2 weeks show TLSA success (or failures to diagnose).
  7. Raise the TTL on the TLSA records to 3600-86400 once stable.

9.2 DANE-only -> DANE + MTA-STS

  1. Confirm an HTTPS host is available at mta-sts.example.com with a CA-signed certificate that chains to the public web PKI.
  2. Author the policy file at /.well-known/mta-sts.txt with version: STSv1; mode: testing; mx: entries for each production MX; max_age: 86400 for the testing phase.
  3. Publish the discovery TXT at _mta-sts.example.com with v=STSv1; id= as a fresh identifier.
  4. Monitor TLS-RPT for 7-14 days at mode: testing to discover any unexpected MX hostnames.
  5. Promote to mode: enforce once test mode is clean.
  6. Raise max_age to 604800-2592000 for steady-state caching.

9.3 Certificate rotation under DANE-EE / Selector 1 (SPKI)

  1. Generate the NEW certificate with the SAME public key as the current TLSA record. If the renewal generates a new key, the TLSA record fingerprint will change and you must rotate it.
  2. If the public key is unchanged: no TLSA rotation needed. The cert NotBefore / NotAfter dates rotate but the TLSA stays valid.
  3. If the public key changes (key rotation): publish the NEW TLSA record alongside the OLD one ahead of cert deployment - then deploy the new cert + remove the old TLSA once the renewed cert is live and the new TLSA TTL has propagated. The 2-record overlap window covers any cached lookups with the old TLSA fingerprint.

9.4 Adding TLS-RPT - the operational glue for both standards

Both MTA-STS and DANE benefit from TLS-RPT (RFC 8460) observability. Publish a single _smtp._tls.example.com TXT and receive structured failure reports covering BOTH standards - the policy-type in each report identifies which one failed.

_smtp._tls.example.com.  IN  TXT  "v=TLSRPTv1; rua=mailto:tls-rpt@example.com"

The TLS-RPT pillar (help_tls_rpt_explained.php) documents the format end-to-end.

10. Common mistakes

  • Deploying DANE without DNSSEC. TLSA records on an unsigned zone are ignored by validating senders - DANE REQUIRES DNSSEC end-to-end per RFC 7672 section 2.1.1. The records cost nothing to publish but they protect nothing. Confirm DNSSEC on the zone before publishing TLSA.
  • TLSA record at the wrong location. The record goes at _25._tcp.<mx-hostname> NOT at the apex of the recipient domain and NOT at example.com. Each MX hostname gets its own TLSA record. The 25 is the SMTP port; the tcp is the protocol.
  • Using Usage 0 or 1 (PKIX-TA / PKIX-EE) on the recipient side. These usages require the cert to chain to a public CA AND match the TLSA. Recommended SMTP deployment is Usage 3 (DANE-EE) which decouples from the CA chain entirely. Public CAs sometimes refuse to issue certs for SMTP hostnames or have outage windows; DANE-EE is robust against both.
  • Forgetting to rotate TLSA when rotating cert keys. If you use Selector 0 (full cert) or rotate the SubjectPublicKeyInfo, the TLSA fingerprint changes and senders will reject the new cert. Always pre-publish the new TLSA alongside the old before the cert rotation, and only remove the old TLSA after the new cert is live + TTL has propagated.
  • MTA-STS policy file served over HTTP instead of HTTPS. RFC 8461 section 3.3 requires HTTPS - HTTP-served policy files are rejected by validating senders. The whole point of MTA-STS is the HTTPS chain providing integrity.
  • MTA-STS policy file with stale mx: entries. The mx: pattern must match each production MX hostname (or use wildcards like mx: *.example.com). Stale entries from a previous MX configuration cause delivery failures.
  • Missing TLS-RPT. Without TLS-RPT you do not know if your MTA-STS or DANE policy is failing for ANY sender. Always publish TLS-RPT alongside either standard.
  • Treating MTA-STS and DANE as either/or. They are explicitly designed to coexist. Publish both whenever the prerequisite (DNSSEC for DANE, HTTPS for MTA-STS) is satisfied - coverage is additive.

11. Troubleshooting common failures

11.1 "I published TLSA records but DANE-capable senders are not validating"

  • Verify DNSSEC is enabled on the recipient zone - dig +dnssec example.com SOA should show the ad flag in the response header.
  • Verify the TLSA record is at _25._tcp.<mx> not the apex - dig TLSA _25._tcp.mail.example.com should return the record.
  • Verify the TLSA fingerprint matches the served SMTP cert - use danetool --check or posh-dnssec to test.
  • Verify the DNSSEC chain validates - delv +short example.com SOA should resolve without bogus.

11.2 "MTA-STS policy fetch returns 404"

  • Verify the file is at the EXACT path /.well-known/mta-sts.txt - the leading dot in .well-known trips some web servers that hide dotfiles.
  • Verify the HTTPS cert on mta-sts.example.com chains to a public CA - self-signed certs are rejected.
  • Verify the response Content-Type is text/plain.

11.3 "Mail to a DANE-publishing recipient is bouncing after a cert renewal"

  • The renewed cert generated a new public key. If you use Selector 1 (SPKI), the TLSA fingerprint changed - publish the new TLSA alongside the old, deploy the cert, then remove the old TLSA after TTL has propagated.
  • If you use Selector 0 (full cert), every cert renewal requires TLSA rotation. Switch to Selector 1 if you want to decouple cert renewal from TLSA rotation.

11.4 "TLS-RPT reports show MTA-STS failures from a single sender"

  • Check the policy-type in the report: if it is sts, the failure is in the MTA-STS path. If tlsa, it is DANE.
  • Match the failing policy-strings against the published policy file - common cause is a stale mx: pattern that did not get updated after an MX change.
  • Verify the policy ID in the discovery TXT record matches the policy file content - if the ID is stale the sender may be cacheing an old policy.

11.5 "DANE validation reports bogus DNSSEC"

  • Bogus is the dangerous state - it means DNSSEC validation FAILED. Confirm the zone's DS record at the parent zone matches the published DNSKEY.
  • Confirm the DNSKEY rollover has propagated - a stale DS at the registrar after a key rollover is the canonical cause.
  • Confirm the zone signing is fresh (RRSIG not expired).

12. Frequently asked questions

What is the difference between MTA-STS and DANE for SMTP?
Both protect SMTP transport against STARTTLS-stripping and downgrade attacks but use different trust anchors. MTA-STS (RFC 8461) trusts the public web PKI - the policy lives in an HTTPS-fetched file. DANE (RFC 7672) trusts DNSSEC - the policy lives in a TLSA record signed by DNSSEC. DANE requires DNSSEC; MTA-STS does not. The two coexist - a sender that supports both prefers DANE when a TLSA validates.
Which is better, MTA-STS or DANE for SMTP?
Neither replaces the other. DANE is technically stronger when DNSSEC is correctly deployed but requires DNSSEC on the recipient zone (roughly half of internet zones lack it). MTA-STS has lower deployment friction but introduces an HTTPS-fetched policy file. For maximum coverage publish both - DANE for the senders that support it, MTA-STS for the rest. RFC 7672 section 1.3 specifies the coexistence rules explicitly.
Does MTA-STS require DNSSEC?
No. MTA-STS uses DNS only for the discovery TXT record at _mta-sts.example.com plus the standard MX records. The policy itself comes over HTTPS from https://mta-sts.example.com/.well-known/mta-sts.txt - the web PKI plus HTTPS chain provides the cryptographic guarantee, not DNSSEC.
Does DANE for SMTP require DNSSEC?
Yes. DANE for SMTP requires DNSSEC end-to-end on the recipient zone. The sender MUST validate the DNSSEC chain on both the MX record AND the TLSA record. If either chain is bogus, the sender MUST NOT use the TLSA association. DANE without DNSSEC is meaningless - the records are silently ignored by validating senders.
How do MTA-STS and DANE interact if both are deployed?
RFC 7672 section 1.3: DANE takes precedence when a TLSA record is present and DNSSEC validates. If DNSSEC is bogus, the sender MUST NOT fall back to MTA-STS - bogus DNSSEC indicates an attack. If DNSSEC is insecure (unsigned), the sender falls back to MTA-STS policy lookup. If MTA-STS also fails, the sender falls back to opportunistic TLS.
Which large email providers support DANE for SMTP?
Sending side: Google Workspace, Microsoft 365 (since 2022), Comcast, Posteo, mailbox.org, ProtonMail, Hetzner. Receiving side - those publishing TLSA: Google (since 2024), Microsoft 365, ProtonMail, Posteo, mailbox.org, Comcast, GMX, web.de, and the US .gov sector under BOD 18-01. MTA-STS coverage is broader - Microsoft 365, Google, Yahoo, ProtonMail, Comcast, mailbox.org all publish MTA-STS.
What is the DANE TLSA record format for SMTP?
Published at _25._tcp.<mx-hostname>. Four fields: Usage (0 PKIX-TA, 1 PKIX-EE, 2 DANE-TA, 3 DANE-EE), Selector (0 full cert, 1 SubjectPublicKeyInfo), MatchingType (0 full match, 1 SHA-256, 2 SHA-512), Certificate Association Data hex. Canonical SMTP deployment is 3 1 1 (DANE-EE / SPKI / SHA-256) per RFC 7672 section 3.1.3.
Can I deploy MTA-STS and DANE together on the same domain?
Yes - this is the recommended pattern for maximum coverage. Publish DANE TLSA records at _25._tcp.<mx> signed by DNSSEC, AND publish an MTA-STS policy at https://mta-sts.example.com/.well-known/mta-sts.txt with matching mx: lines. Add TLS-RPT observability at _smtp._tls.example.com to see failures from either. Most providers that take SMTP transport security seriously publish both.

14. Check your current transport security posture

DMARC Analyzer's free Domain Security Checker performs live DMARC + SPF + DKIM + MTA-STS + BIMI + DNSSEC lookups against any domain. Use it to check your current MTA-STS policy and DANE TLSA records, confirm DNSSEC validates correctly on the recipient zone, and validate each deployment step before pushing to production. The DNS Record Generator (linked above) builds syntactically-correct MTA-STS discovery TXT records and TLSA records with the canonical DANE-EE / SPKI / SHA-256 deployment shape. Imported DMARC aggregate reports (via includes/DmarcParser.php) plus parsed TLS-RPT reports (via includes/TlsRptParser.php) drive the dashboard that surfaces transport-security failures and migration progress.

Check my current transport security Sign up — Free plan