[ Transport security ]

MTA-STS policy missing: trace discovery before adding records

Separate wrong-domain discovery, duplicate TXT records, HTTPS retrieval and MX validation before proposing a repair for a missing MTA-STS policy.

By the EmailAuth research team · 6 min read

[ Key points ]

  • Confirm the policy domain, including subdomain and smart-host handling.
  • Count usable TXT records after filtering, rather than adding another record.
  • Require the authenticated original HTTPS endpoint to return a direct 200 and valid policy.
  • Treat policy discovery, SMTP validation and cached enforcement as separate evidence.
On this page

Locate the missing step before adding records

A warning that an MTA-STS policy is missing describes a discovery outcome, not a diagnosis. The receiving domain may lack its discovery record, publish several competing records, serve the wrong HTTPS resource, or already have a policy that one sender cannot retrieve. Creating another TXT record before separating these cases can make a recoverable problem worse. Start with the exact domain and the evidence behind the warning.

This is a documentary investigation plan. No DNS lookup, policy download from a customer host, SMTP connection or provider change was performed. The worked case below is fictional. An operational conclusion requires timestamped observations from the relevant infrastructure and, where available, the reporting sender's policy state.

Establish the policy domain

For ordinary delivery to a mailbox at example.com, discovery begins at _mta-sts.example.com. The policy is fetched from https://mta-sts.example.com/.well-known/mta-sts.txt. A mailbox at a subdomain requires discovery for that subdomain; compliant senders must not fall back to the parent's policy. An administratively configured smart host introduces a different policy-domain choice, so record whether the investigation concerns direct delivery or a relay. RFC 8461 sections 3.1–3.4

Ask the owner of the warning for its timestamp, queried name, record type and complete result. A screenshot saying “missing” cannot distinguish a nonexistent name, a successful answer containing no usable record, or a timeout. Retain both authoritative and recursive observations when later authorized. DNS negative caching can preserve an earlier absence, so the current control-panel display does not explain every resolver's answer. RFC 2308

Evaluate the complete discovery answer

The discovery record begins with v=STSv1; and includes an id identifying a policy instance. The identifier signals a change; it does not contain the policy or impose a chronological ordering. After records without the required version prefix are discarded, exactly one usable record must remain. Multiple matching TXT records are therefore a possible cause of failed discovery, not a reason to add a third. RFC 8461 section 3.1

Preserve record boundaries. Several quoted character strings within one TXT record are concatenated without inserted spaces; several TXT records remain separate records. Follow any discovery CNAME chain and retain the target answer. RFC 8461 permits that delegation. A DNS provider's editing interface may display these cases similarly, so compare the actual response with the intended configuration before proposing a write. RFC 8461 section 3.1

Trace HTTPS retrieval separately

A valid discovery record leads to the fixed HTTPS policy location. The service must present a trusted, unexpired certificate valid for the policy host. A valid fetch requires HTTP 200; redirects must not be followed. A browser that silently follows a redirect can therefore make a broken endpoint appear healthy. Capture the first response status and original URL rather than only the page eventually displayed. RFC 8461 section 3.3

Inspect the returned body as policy text. Check the version, mode, maximum age and required MX entries against the grammar. Senders should validate the text/plain media type. A login page or branded error document returned with status 200 has not become a usable policy. The syntax permits repeated MX fields; duplicate singleton fields are handled differently, so retain the original bytes instead of silently normalizing them. RFC 8461 section 3.2

Keep discovery separate from delivery validation

Once a policy has been obtained, compare its MX patterns with the actual candidate hostnames. The permitted wildcard covers one complete leftmost label, not arbitrary levels. Then evaluate STARTTLS and the receiving server's certificate for the selected MX host. Those are different checks from validating the certificate on the HTTPS policy service. A successful policy download does not certify the mail servers. RFC 8461 sections 4.1–4.2

Also record sender cache state. Failure to discover or fetch a live policy does not erase a valid, unexpired cached policy. Conversely, a sender with no usable cached policy and an unsuccessful HTTPS fetch proceeds as though the domain has not implemented MTA-STS. That statement concerns MTA-STS only; another applicable transport policy can still constrain delivery. RFC 8461 section 3.3

Work through a fictional duplicate record case

Suppose a fictional example.com operator sees a “policy missing” warning after changing hosting providers. The proposed evidence packet contains two separate discovery TXT records, one with id=old1 and one with id=new2, both beginning with the valid version prefix. The HTTPS endpoint is assumed to serve a correct testing policy. These are invented observations, not results collected here.

Under the discovery rule, the two surviving records prevent selection of an available policy. The plausible repair is to identify the intended current record and review removal of the obsolete duplicate, not recreate the HTTPS service. That proposal still needs ownership and change approval. A subsequent trace would verify one discovery record, the intended HTTPS body and MX coverage. An old sender cache could produce different behavior until its policy state changes.

Finish with a bounded rollout decision

If the investigation supports a new deployment, prepare a controlled testing-to-enforce plan. Identify all intended MX hosts, including backups, establish HTTPS availability and arrange TLS-RPT collection. In testing mode, MTA-STS validation failures may be reported without requiring the sender to block delivery. A quiet reporting mailbox is not sufficient readiness evidence. RFC 8461 sections 5–6

When a policy body changes, publish the HTTPS body before changing the discovery identifier and account for DNS TTLs and existing caches. Keep the original trace, proposed difference and rollback owner together. Current RFC 8461 errata were checked separately; reported proposals have not been treated as approved replacements. The missing DNS-to-HTTPS-to-MX trace and controlled rollout evidence remain explicit release gates. RFC 8461 section 8.1 Current errata

[ Takeaway ]

Identify the first failed dependency and the sender cache state before changing records. A warning alone cannot tell you which repair is safe.

[ By role ]

What this means for you

Choose your role for practical next steps.

DNS operator

Resolve the exact discovery answer

The operator should establish what the queried name actually returns before proposing record changes. The control-panel view and a remote resolver answer can describe different moments.

Next steps

  1. Record the precise name, type, response status and time.
  2. Preserve TXT record boundaries and any CNAME chain.
  3. Propose a narrowly scoped change only after the intended owner confirms the target.

Mail transport owner

Validate the complete delivery chain

A discovered policy is only one dependency. The mail owner must connect the policy domain and allowed MX hosts to the SMTP services actually used.

Next steps

  1. List intended primary and backup MX hostnames.
  2. Keep policy-host and SMTP certificate checks distinct.
  3. Request sender cache context when reports appear inconsistent.

Change approver

Choose a staged repair

A missing-policy warning does not grant permission for a DNS or hosting change. The proposed repair should explain the failing dependency and its verification.

Next steps

  1. Require a before-and-after evidence plan.
  2. Keep testing-to-enforce approval separate from restoring discovery.
  3. Name the rollback owner and unresolved evidence gates.

[ FAQs ]

Frequently asked questions

Does a missing-policy warning prove the TXT record is absent?

No. It can also reflect an incorrect queried domain, unusable syntax, competing discovery records or a failed HTTPS fetch. Request the exact query and response behind the warning before deciding which explanation applies.

Can two MTA-STS TXT records be used for redundancy?

Not as two separate usable discovery records at the same owner. After the specified version-prefix filtering, the sender needs exactly one record. Multiple strings inside one TXT record are a different case and are concatenated without extra spaces.

Does a parent policy cover a mailbox at a subdomain?

No automatic parent fallback is defined. A compliant sender delivering to a mailbox at a subdomain must use that subdomain for discovery rather than fetch the parent zone policy. Separately configured smart hosts have their own policy-domain rule.

Is a discovery CNAME itself an error?

No. RFC 8461 permits the discovery name to resolve through CNAME pointers to a TXT record. Preserve the chain and inspect the final usable record instead of replacing delegation merely because it exists.

Why can a browser show the policy when a sender cannot fetch it?

A browser may follow a redirect or carry authentication state. MTA-STS retrieval requires the original HTTPS endpoint to authenticate correctly and return HTTP 200 without following redirects. Inspect the first response and body.

Does removing the discovery record cancel cached enforcement?

No. The absence of a usable live discovery record does not by itself invalidate a previously cached, nonexpired policy. Intentional removal has a separate mode none workflow and cache-expiration considerations.

Should a repaired policy immediately switch to enforce?

Only after the owner evaluates the intended MX hosts, certificate behavior, reporting and rollback plan. Testing permits delivery despite MTA-STS validation failures; it supplies a safer observation phase, but silence alone does not prove readiness.

What original evidence is still missing from this draft?

The required DNS-to-HTTPS-to-MX validation trace and controlled testing-to-enforce plan have not been executed or collected. The fictional duplicate-record case explains a rule but does not satisfy either gate.

[ Sources ]

Sources

  1. RFC Editor current errata register for RFC 8461
  2. RFC 2308: Negative Caching of DNS Queries (DNS NCACHE)
  3. RFC 8460: SMTP TLS Reporting
  4. RFC 8461: SMTP MTA Strict Transport Security (MTA-STS)

[ Glossary ]

Glossary

Policy domain
The domain used to discover and apply MTA-STS; direct recipient delivery, subdomains and configured smart hosts require the appropriate selection.
Discovery identifier
The id value in the MTA-STS TXT record, used to distinguish a policy instance without implying ordered version numbers.
Policy host
The HTTPS hostname formed by prefixing mta-sts to the policy domain.
Usable discovery record
The single syntactically valid MTA-STS TXT record remaining after the required version-prefix filtering.
Cached policy
A previously fetched policy held by the sender, usable while valid and within its max_age lifetime.

Enterprise provenance

Why top financial institutions and governments retired their email security dashboards.

Traditional email authentication platforms sell you a dashboard and ask your engineers to do the labour. In high-stakes environments, manual oversight means delayed enforcement, configuration drift and unmonitored shadow domains.

EmailAuth is the agentic email provenance platform. Our agents enforce p=reject, keep third-party senders aligned and move your domains to full RFC 9989 compliance, the new DMARC standard,, with human-in-the-loop auditability.

Governments Large enterprises Tier-1 financial institutions

SaaS · Dedicated tenancy · Air-gapped on-prem · BYOK encryption

Knowledge Base