Treat the first response as evidence
An MTA-STS policy can look available in a browser while a compliant sending server rejects its retrieval. Browsers commonly follow redirects, carry cookies and render application pages. Policy retrieval instead has a narrow contract: the prescribed HTTPS host and path, a valid certificate, a 200 response and a parseable policy. Diagnose the first failed layer before changing DNS or weakening transport protection.
No customer endpoint was contacted for this guide. The scenarios are fictional and the capture procedure is proposed. A real incident still needs a timestamped connection trace identifying the target, certificate validation result, HTTP response and returned body. Retain failures as well as successful retries so that a later improvement does not erase the cause.
Separate connection failure from HTTP failure
For example.com, the retrieval target is https://mta-sts.example.com/.well-known/mta-sts.txt. Name resolution and network connection precede TLS authentication; HTTP processing follows a successful handshake. An unreachable address, certificate error, HTTP 404 and invalid body are different observations. A tool that reports all of them as “fetch failed” needs its detailed output before the operator can assign the issue. RFC 8461 sections 3.2–3.3
Identify the hostname used for certificate validation, not merely the final address. A hosting CNAME does not replace the required policy-host identity with the provider's name. The presented chain must lead to a root trusted by the sender and the certificate must be unexpired. Never turn off certificate checks to produce a passing readiness result. A deliberately nonvalidating inspection, if separately approved, would be different evidence. RFC 8461 sections 3.3 and 8.2
Interpret status codes without browser shortcuts
RFC 8461 accepts a fetched policy only with HTTP 200 and prohibits following HTTP 3xx redirects. A 301 to a provider address, 302 to a login page or 307 added by a web framework is therefore not a successful policy fetch. A 304 is also outside the required 200 response, and sending MTAs must not use ordinary HTTP caching for this retrieval. Their MTA-STS policy cache is a separate mechanism. RFC 8461 section 3.3
HTTP status semantics help assign the repair: 404 indicates that the origin did not find a current representation or is unwilling to disclose one; 403 refuses fulfillment; 503 indicates temporary service unavailability. These statuses identify an HTTP outcome, not the exact web-server configuration responsible. Preserve response headers and the deployment revision, then ask the responsible hosting team to compare routing, access controls and upstream availability. RFC 9110 section 15
Verify the body after a successful response
A 200 response is necessary but insufficient. Inspect whether the body contains the MTA-STS fields and whether the media type is text/plain, which senders should validate. An application shell, anti-bot challenge or custom error page can carry status 200 while failing policy parsing. Record content type, byte length and an unchanged copy of the response; do not paste only the lines that look valid. RFC 8461 section 3.2
Policy fetchers may impose time and size limits. The specification suggests a one-minute timeout and a 64-kilobyte maximum body, rather than guaranteeing every implementation uses those exact thresholds. Slow application startup or an unexpectedly large response can therefore explain differing results between senders. A small, consistently served resource reduces those dependencies, but the actual service architecture remains an owner decision. RFC 8461 section 3.3
Follow a fictional redirect incident
Imagine a fictional hosting migration where the original policy URL returns 301 with a Location pointing to a provider-owned hostname. A desktop browser follows it and displays a correct testing policy. A supporting sender reports sts-policy-fetch-error. The redirect and report are invented for this example; neither is a customer observation.
The direct 301 is already sufficient to explain why the original retrieval fails the MTA-STS HTTP requirement, even if the destination text is correct. A proposed correction would serve the policy directly at the original URL, potentially through a properly configured reverse proxy. That original service must still authenticate as mta-sts.example.com. Do not replace the requirement with permission to follow redirects, and do not change a discovery ID merely to conceal a hosting fault. RFC 8461 sections 3.3 and 8.2
Explain why senders may diverge
A sender holding a valid cached enforce policy must continue applying it when refresh fails. A sender without a valid cached policy and unable to fetch one continues without MTA-STS protection. A hosting outage therefore does not imply that every sender immediately stops mail, nor that all senders remain protected. Diagnose cache state and other applicable policies separately from website availability. RFC 8461 section 3.3
Repeated attempts may also be throttled. After an unsuccessful GET, implementers should limit additional attempts to intervals of five minutes or longer per version ID. A repair can consequently precede the next visible successful refresh. Avoid claiming instant recovery from one browser visit; retain sender-specific observations and the relevant collection times. RFC 8461 section 3.3
Close the incident with the right evidence
TLS-RPT separates policy retrieval errors, invalid policy content and policy Web PKI authentication failures. Use those categories to prioritize investigation while retaining the reporter's detail and recognizing that labels alone do not identify a server-side cause. Correlate a corrected first response with subsequent reporting and the sender's policy state. RFC 8460 section 4.3.2.2
The completion packet should show the authenticated original endpoint, direct 200 response, parseable body and reviewed MX scope. Original hosting evidence, customer certificate traces and sender recovery confirmation remain absent here. Current RFC errata were reviewed without converting reported proposals into normative fixes; independent review and publication authorization remain separate decisions. RFC 8461 errata