| Field | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Directive | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Check | Result | Copy |
|---|---|---|
| {{ c.label }} | Pass Fail |
| Field | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
MTA STS policies tell other mail servers to deliver messages over secure connections and to refuse delivery when policy rules cannot be met. A clear status helps avoid downgrade attacks and misrouted mail, and it gives teams a fast way to spot gaps in configuration.
You provide a domain and the checker reads the public text record and the published policy, then summarizes what is present and what is missing. It reports the policy version and mode, the cache window, any listed mail exchangers, and whether the certificate is still valid.
For example, a domain with the current version in enforce mode, a cache window of 90 days, and a healthy certificate will score well, while a soon expiring certificate or a missing id token will lower the result. Results guide fixes and do not change settings by themselves.
Use consistent domains, keep inputs simple, and repeat checks after certificate renewals. Choose this when you want a quick configuration read, not a full mail delivery test.
The validator inspects the public DNS text record for the dedicated host and the policy file served over HTTPS on the policy host. It extracts the version string, a unique identifier, the operating mode, the cache lifetime in seconds, and the list of mail exchanger hostnames.
Results are summarized as individual pass or fail checks and combined into a percentage score. The score is a simple fraction of checks that passed, rounded to a whole percent for easy comparison across runs.
Modes are interpreted as enforce, testing, or none. A cache lifetime outside the accepted window and a missing mail exchanger list lower confidence. Certificate dates are read from the TLS server certificate used to serve the policy file and converted into the number of days remaining.
| Symbol | Meaning | Unit/Datatype | Source |
|---|---|---|---|
| S | Validation score | % | Derived |
| p | Number of checks that passed | integer | Derived |
| n | Total checks evaluated | integer | Constant (12) |
Interpretation: 83% indicates most elements are correctly published; remaining failures should be addressed.
stsv1.id token.stsv1.enforce, testing, none.max_age is present and positive.max_age ≥ 86 400 s.max_age ≤ 31 557 600 s.mx directive is present.| Field | Type | Min | Max | Step/Pattern | Error Text |
|---|---|---|---|---|---|
| Domain | string | — | — | hostname characters [A-Za-z0-9.-]+ |
“Domain is required.” |
| TXT host | derived | — | — | _mta-sts.<domain> |
— |
| Policy URL | derived | — | — | https://mta-sts.<domain>/.well-known/mta-sts.txt |
— |
| Policy size | bytes | 0 | 65 536 | truncate on overflow | “Policy response exceeded size limit.” |
| HTTPS redirects | count | 0 | 4 | stop at limit | “Too many redirects while fetching the policy.” |
| Request timeout | milliseconds | 100 | 10 000 | default 6 000 | “Unable to fetch MTA-STS policy.” |
| TLS protocol | version | 1.2 | — | reject lower versions | HTTPS required |
| Mode values | enum | — | — | enforce | testing | none |
invalid mode fails |
max_age |
seconds | 86 400 | 31 557 600 | integer | outside window fails |
max_age shows seconds; when divisible by 86 400 it also shows days.key: value pairs; comments beginning with # are ignored.mx directive is checked.Mail transfer security policy is defined by community standards for SMTP policy publication and DNS TXT usage; certificate handling aligns with widely adopted X.509 practices.
The page sends the domain you enter to public DNS and policy endpoints to retrieve records and the policy file. No credentials are requested. There is no server‑side database; requests are processed on demand.
Validate a domain’s policy posture and read the results clearly.
Example: Enter example.com, confirm stsv1 in both locations, a mode of enforce, a max_age of 86 400 s or higher, at least one mx line, and a certificate with more than 7 days left.
id to force cache refresh after policy updates.The page sends your domain to retrieve records and the policy, then renders results. There is no persistent database in this app, though endpoints may keep routine logs.
Avoid entering anything other than domains.It reflects how many checks passed. It is a configuration summary and not a guarantee of delivery. Missing enforcement, out‑of‑window cache, or a near‑expiry certificate will reduce it.
Times are milliseconds for lookups and fetches and seconds for TTL and max_age. The score is a whole percent.
No. It needs DNS and HTTPS access to read the TXT record, fetch the policy, and inspect the certificate.
It checks for the presence of mx lines in the policy. It does not probe mail servers or compare against live MX records.
A valid certificate with fewer than 7 days left will fail freshness while still passing validity. Update the certificate or revisit the policy window soon.
Enter the domain, run the check, and confirm stsv1 in TXT and policy, a valid mode, a window within bounds, at least one mx, and a healthy certificate.
No account is required. Use at your discretion within your organization’s policies.
mode to enforce, testing, or none.max_age that balances cache stability with update agility.testing mode during staged rollouts, then switch to enforce.id after policy edits to invalidate caches.