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
TLSArecord at_25._tcp.mx.example.comsigned 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
TLSArecord 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.comTXT - 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_ageexpires. - 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:
0PKIX-TA,1PKIX-EE,2DANE-TA,3DANE-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:
0full certificate,1SubjectPublicKeyInfo. Selector1is 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:
0full data exact match,1SHA-256 hash,2SHA-512 hash. MatchingType1(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
MXrecord for the recipient domain. - The
TLSArecord 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
MXrecord 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.
| 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
| 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
| 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:
- DANE first. Sender queries
the
_25._tcp.<mx>TLSA record with DNSSEC validation. - 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.
- If DNSSEC is insecure (unsigned delegation), the sender moves on - DANE does not apply.
- 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.
- 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.
- 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
- Verify the recipient zone is DNSSEC-signed.
Use
dig +dnssec example.com SOAand confirm theadflag is set on the response. - 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(orposh-dnssec/swede/danetool). - Publish the TLSA records at
_25._tcp.<mx>with TTL 300-3600 during rollout (lower TTL for fast rollback). - Wait for the DNS to converge + propagate through DNSSEC validators (typ. 1-2 cycles of the TTL).
- Validate from a DANE-capable test sender
(e.g. a Posteo or mailbox.org account, or
the
danetool/posh-dnssecCLI verifiers). - Confirm TLS-RPT reports for the next 1-2 weeks show TLSA success (or failures to diagnose).
- Raise the TTL on the TLSA records to 3600-86400 once stable.
9.2 DANE-only -> DANE + MTA-STS
- Confirm an HTTPS host is available at
mta-sts.example.comwith a CA-signed certificate that chains to the public web PKI. - Author the policy file at
/.well-known/mta-sts.txtwithversion: STSv1; mode: testing; mx:entries for each production MX;max_age: 86400for the testing phase. - Publish the discovery TXT at
_mta-sts.example.comwithv=STSv1; id=as a fresh identifier. - Monitor TLS-RPT for 7-14 days at
mode: testingto discover any unexpected MX hostnames. - Promote to
mode: enforceonce test mode is clean. - Raise
max_ageto 604800-2592000 for steady-state caching.
9.3 Certificate rotation under DANE-EE / Selector 1 (SPKI)
- 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.
- If the public key is unchanged: no TLSA rotation needed. The cert NotBefore / NotAfter dates rotate but the TLSA stays valid.
- 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 atexample.com. Each MX hostname gets its own TLSA record. The25is the SMTP port; thetcpis 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. Themx:pattern must match each production MX hostname (or use wildcards likemx: *.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 SOAshould show theadflag in the response header. - Verify the TLSA record is at
_25._tcp.<mx>not the apex -dig TLSA _25._tcp.mail.example.comshould return the record. - Verify the TLSA fingerprint matches the
served SMTP cert - use
danetool --checkorposh-dnssecto test. - Verify the DNSSEC chain validates -
delv +short example.com SOAshould 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-knowntrips some web servers that hide dotfiles. - Verify the HTTPS cert on
mta-sts.example.comchains 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 Selector1if 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-typein the report: if it issts, the failure is in the MTA-STS path. Iftlsa, it is DANE. - Match the failing
policy-stringsagainst the published policy file - common cause is a stalemx: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.