When another mail server delivers a message to your domain, STARTTLS can encrypt the connection. Without an additional policy, that encryption is usually opportunistic: the sender tries TLS, but a network attacker may be able to remove the STARTTLS capability or redirect the SMTP connection to another host.
Two standards address that gap:
Both can make inbound SMTP delivery resistant to downgrade and interception attacks for senders that support them. They do it through different trust systems, and neither one magically changes the behavior of every sending MTA on the Internet.
That last point is important. A receiving domain can publish a policy, but the sending server has to implement the policy, discover it, and apply it. The practical choice is therefore not only about which standard is stronger on paper. It is also about which dependencies your team can operate reliably and which senders your important correspondents use.
Choose DANE when your DNS is DNSSEC-signed, your inbound mail platform supports DANE, and your team is comfortable operating DNSSEC and TLSA records as part of certificate changes.
Choose MTA-STS when DNSSEC is unavailable or impractical, but you can serve a stable HTTPS policy and use publicly trusted certificates on every MX host. MTA-STS is often the easier first deployment for a domain hosted on ordinary web and mail infrastructure.
Choose both when inbound mail is valuable enough to justify two policy paths. A sender that supports both can apply DANE's DNSSEC-backed association and MTA-STS's policy checks. RFC 8461 specifically says that MTA-STS validation must not override a failing DANE validation.
In every case, publish SMTP TLS Reporting if you can receive and review the reports. TLS-RPT is visibility, not an enforcement policy, but it is the feedback loop that makes certificate, DNS, and policy failures visible.
SMTP is a store-and-forward protocol. A sender resolves the recipient domain's MX records, opens a connection to one of the resulting hosts, and may negotiate TLS with STARTTLS.
Ordinary opportunistic TLS protects against passive observation when the connection and negotiation are left alone. It does not reliably protect against an active attacker who can:
250 STARTTLS from the SMTP capabilitiesThe DANE SMTP specification and MTA-STS specification both define ways for a sender to know what secure delivery should look like. If the sender cannot meet the requirement, a conforming sender does not quietly treat the failed secure connection as an ordinary cleartext delivery when the policy is enforcing.
Neither policy provides end-to-end message encryption. TLS protects one SMTP hop at a time, and the receiving MTA can read the message. Neither policy authenticates the From: address or replaces SPF, DKIM, or DMARC. For the identity side of mail, see Beyond DMARC, DKIM, and SPF: MTA-STS + TLS-RPT for inbound SMTP.
DANE, or DNS-Based Authentication of Named Entities, uses DNSSEC to authenticate a TLSA record. The record binds a certificate or public key to a particular service name, protocol, and port.
For an MX host named mx1.example.com, the SMTP TLSA name is:
_25._tcp.mx1.example.com.An illustrative TLSA record might look like this:
_25._tcp.mx1.example.com. IN TLSA 3 1 1 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fThe three numbers are the certificate usage, selector, and matching type. 3 1 1 means a DANE-EE association using the certificate's SubjectPublicKeyInfo and a SHA-256 hash. The hexadecimal value above is intentionally illustrative and will not match a real certificate. Generate the record from the certificate or key that the live SMTP service will present.
An inbound DANE deployment needs all of these pieces:
_25._tcp name for every MX host that should offer DANE.The MX hostname matters. TLSA is not published at _25._tcp.example.com merely because example.com is the recipient domain. It is normally published below each actual MX hostname. If the domain has a primary and backup MX, forgetting the backup creates a split security posture.
The trust anchor for the TLSA association is the DNSSEC chain, not the general-purpose public CA store. That lets a domain use a certificate that is not issued by a public CA when the TLSA usage permits it. It also limits the assertion to the named service and port.
This is DANE's main security advantage. A public CA that can issue certificates for arbitrary domains is not needed to authenticate the SMTP service. An attacker who can obtain an unrelated public certificate cannot satisfy a correctly published DANE-EE association.
The tradeoff is that DNSSEC becomes part of the mail delivery critical path. The sender needs a validated answer for the relevant DNS data. A DNSSEC bogus result, a broken signature, or a failed TLSA lookup is not an invitation to try the same host without authentication. The sender skips that host or delays delivery, depending on the situation, to avoid turning a DNS failure into a downgrade.
DANE for SMTP is normally opportunistic DANE. A sender that finds a valid TLSA association uses authenticated TLS. A sender that can securely determine that no TLSA association exists can use ordinary opportunistic TLS. A sender that does not implement DANE may still deliver with ordinary STARTTLS or, if that is unavailable, cleartext. A TLSA record cannot force a non-DANE sender to use it.
MTA-STS uses two publication points. The DNS record announces a policy version, and an HTTPS endpoint serves the policy body.
For example.com, the DNS record is:
_mta-sts.example.com. IN TXT "v=STSv1; id=2026090401"The policy is fetched from:
https://mta-sts.example.com/.well-known/mta-sts.txtAn enforcing policy could contain:
version: STSv1
mode: enforce
mx: mx1.example.com
mx: mx2.example.com
max_age: 604800The sending MTA validates that the selected MX matches a listed mx pattern, supports STARTTLS, and presents a non-expired certificate that matches the MX hostname and chains to a CA trusted by the sender. The policy host itself also needs a valid certificate for mta-sts.example.com.
MTA-STS has three modes:
testing lets delivery continue as if the validation failure were not enforcing, while compatible senders can report the failure through TLS-RPT.enforce tells a compatible sender not to deliver to an MX that fails the policy checks. The message is normally deferred and retried rather than immediately treated as a permanent failure.none is used to remove an existing policy cleanly after cached policies have expired.An inbound MTA-STS deployment needs:
_mta-sts TXT record.mta-sts.example.com for the policy domain.The HTTPS endpoint is not a replacement for the DNS record. Senders use the TXT id to notice that the policy may have changed, then fetch the policy body. Update the HTTPS policy first and change the TXT id second. Reversing that order can cause a sender to see the new ID and retrieve an old or incomplete policy.
MTA-STS policies do not automatically inherit from a parent domain. A sender delivering to mail.example.com does not use the MTA-STS policy for example.com. Publish and operate policies for subdomains that have their own inbound SMTP identity.
| Concern | DANE for SMTP | MTA-STS |
|---|---|---|
| Policy location | DNSSEC-validated TLSA below each MX hostname | DNS TXT plus an HTTPS well-known policy file |
| Authentication basis | DNSSEC chain and the TLSA association | HTTPS Web PKI plus the MX certificate's public CA chain |
| DNSSEC required | Yes | No |
| Public CA required for the SMTP certificate | Not for DANE-EE usage 3 | Yes |
| Policy testing mode | No equivalent per-domain testing mode | mode: testing |
| MX representation | Each MX normally has its own TLSA record | One policy lists all allowed MX hosts or patterns |
| Main operational dependency | DNSSEC, TLSA generation, and key rollover | HTTPS endpoint, TXT ID coordination, and public certificates |
| Failure under a participating strict sender | Host skipped or delivery delayed | Non-compliant host rejected for delivery and message retried |
| Protection for non-participating senders | None beyond their normal TLS behavior | None beyond their normal TLS behavior |
| Reporting companion | TLS-RPT can report DANE failures | TLS-RPT can report MTA-STS failures |
The table hides an important nuance: the standards do not make exactly the same promise to every sender. DANE's DNSSEC signal is designed to resist downgrade when the sender validates it, including authenticated denial when TLSA is absent. MTA-STS has a bootstrap and refresh dependency on unauthenticated DNS discovery. A sender that has not already cached the MTA-STS policy may fail to discover it if an attacker blocks the TXT query or HTTPS fetch.
MTA-STS reduces that window by having senders cache policies for max_age and refresh them before expiry. It is still a real difference. DANE is generally the cleaner fit when the domain already operates a healthy DNSSEC chain and wants DNS to be the source of truth for the SMTP key association.
DANE makes the domain's DNSSEC chain the authority for the SMTP key association. That reduces dependence on a large public CA set and gives a sender a cryptographically authenticated answer about the TLSA record and its nonexistence.
The cost is not just checking a DNSSEC box. The team must keep the DS delegation, DNSKEYs, RRSIGs, authoritative name servers, recursive validation path, and TLSA data healthy. A DNS provider that publishes DNSSEC but mishandles a key rollover can make a zone validate as bogus. For a DANE-aware sender, that can delay mail to the affected MX rather than merely produce a warning.
DANE also maps policy to individual MX hosts. That is precise, but it increases the chance that a forgotten backup or regional hostname will not be covered. It can be an advantage for a domain that wants tight key control and has a small, well-understood MX set.
MTA-STS avoids requiring the recipient zone to be DNSSEC-signed. It fits environments where the mail provider already supplies publicly trusted MX certificates and an HTTPS endpoint can be deployed or delegated. Its testing mode gives teams a useful way to find stale MX records and certificate problems before asking participating senders to enforce the policy.
The cost is a larger set of moving parts: DNS TXT discovery, the policy host's DNS and certificate, HTTPS availability, the policy file, TXT ID updates, and every MX certificate. A publicly trusted CA is also part of the authentication model. A CA compromise or an attacker who obtains a valid certificate for an allowed MX name is a risk that DNSSEC-backed DANE-EE does not share in the same way.
MTA-STS also has a cache bootstrap limitation. A sender must first learn that a policy exists and fetch it successfully. An attacker who can interfere with that first discovery can sometimes cause that sender to proceed without MTA-STS. Long, practical max_age values and refresh monitoring reduce the exposure, but they do not make MTA-STS identical to DNSSEC-authenticated policy discovery.
The most dangerous failures are the ones that occur during an otherwise routine infrastructure change.
bogus response. A DANE-aware sender should not use that response as a reason to fall back to an unauthenticated connection.mx2.example.com, but the policy lists only mx1.example.com, or a wildcard is too narrow for the real hostname.max_age. Removing an MX or changing policy constraints requires keeping the old arrangement working during the cache window.example.com does not cover mail delivered to mail.example.com.In both models, the right response to a failure is not to delete the policy immediately. First determine whether the report indicates a real attack, a stale sender, or your own configuration change. Removing a protection during an incident can turn a visible delivery failure into silent plaintext delivery.
TLS-RPT lets receiving domains ask compatible sending MTAs for aggregate counts of successful and failed TLS sessions. It can report both DANE and MTA-STS policy outcomes, including certificate mismatches, expired certificates, DNSSEC failures, invalid TLSA records, and MTA-STS fetch errors.
The record is published at _smtp._tls:
_smtp._tls.example.com. IN TXT "v=TLSRPTv1; rua=mailto:tls-reports@example.com"Reports are aggregate and are not a per-message forensic log. A successful session count is useful as a heartbeat, while a sudden group of certificate-host-mismatch, tlsa-invalid, dnssec-invalid, or sts-policy-fetch-error results points toward a specific operational problem.
TLS-RPT is not universal telemetry. It depends on the sending MTA implementing the reporting standard and choosing to send reports. Keep local SMTP connection logs, DNSSEC validation alerts, certificate expiry monitoring, and HTTPS endpoint checks as well.
Use these questions in order:
The resulting choices usually look like this:
| Domain situation | Sensible first choice |
|---|---|
| DNSSEC and DANE-capable mail platform are already mature | DANE |
| DNSSEC is unavailable, but HTTPS and public certificates are well managed | MTA-STS |
| High-value mail, mature DNSSEC, and a reliable HTTPS/certificate process | Both, plus TLS-RPT |
| The provider offers neither usable DNSSEC/TLSA nor MTA-STS support | Keep STARTTLS configured correctly and change providers or architecture before promising strict inbound TLS |
Do not choose DANE merely because it sounds more cryptographically pure, and do not choose MTA-STS merely because it has a testing mode. The best policy is the one whose DNS, certificates, MX inventory, caches, and monitoring can stay correct during a bad day.
Start with an inventory, not a DNS record. Record every MX hostname, IP family, certificate chain, TLS version, hosting owner, and planned failover path. Test each host from an external DANE-aware and MTA-STS-aware sender where possible.
For DANE:
For MTA-STS:
mode: testing with a conservative max_age while validating the real mail paths.mode: enforce only after a complete certificate renewal and failover test.For either standard, leave the policy in place during ordinary certificate renewals and DNS changes. A short maintenance window that breaks a strict sender's validation can become a queue of delayed messages, followed by non-delivery reports if the underlying defect is not fixed before retry limits expire.
DANE and MTA-STS are not competing versions of the same DNS record. DANE uses DNSSEC to bind each SMTP service to a certificate or key. MTA-STS uses cached HTTPS policy and public CA validation to tell senders which MX hosts and TLS certificates are acceptable.
DANE is the stronger fit for teams that already operate DNSSEC and want DNS-backed key control. MTA-STS is the more accessible fit for teams that can manage HTTPS and public certificates but cannot make DNSSEC part of their mail platform. High-value domains can use both, with TLS-RPT and independent monitoring around them.
The deciding question is not which acronym wins. It is which trust model and operational process your domain can keep correct when MX hosts fail, certificates rotate, DNS caches disagree, and senders retry delivery from systems you do not control.