Free generator

Create an MTA-STS record and policy

Enter domain, mode and MX hosts. The generator produces the DNS record, the policy file for mta-sts.your-domain.com and the TLS-RPT record through which sending servers report delivery problems.

One host name per line, wildcards such as *.mail.protection.outlook.com allowed
Short for testing, at least a week in production
Mailbox for the daily JSON reports

1. Publish the DNS record

TXTName: _mta-sts
v=STSv1; id=202609131928

The id changes with every change of the policy file, otherwise sending servers keep their old copy.

2. Serve the policy file

FileName: https://mta-sts.example.com/.well-known/mta-sts.txt
version: STSv1
mode: testing
max_age: 604800

Serve over HTTPS with a valid certificate for mta-sts.your-domain, Content-Type text/plain.

No valid MX hosts yet. Without an mx line, servers in enforce mode refuse every delivery.

3. Publish the TLS-RPT record

TXTName: _smtp._tls
v=TLSRPTv1; rua=mailto:tls-reports@example.com

Check the published MTA-STS record now

Three parts, one policy

MTA-STS consists of a TXT record at _mta-sts.your-domain.com that only carries a version and an id, and a text file served at https://mta-sts.your-domain.com/.well-known/mta-sts.txt. The file holds mode, allowed MX hosts and lifetime. Whenever the file changes, the DNS record needs a new id, otherwise sending servers keep using their old copy. The generator derives the id from the current timestamp.

testing before enforce

In testing mode sending servers evaluate the policy but still deliver on violations and report them via TLS-RPT. Only enforce rejects connections that offer no valid TLS or go to an unlisted MX. Start with testing and a short max_age, read the TLS-RPT reports for two weeks, then switch to enforce with a max_age of at least one week.

Listing the MX hosts correctly

The policy lists the host names of the MX records, not the domain itself. For Microsoft 365 that is *.mail.protection.outlook.com, for Google Workspace smtp.google.com, for your own servers their host names. A wildcard such as *.mail.protection.outlook.com covers exactly one label. Every listed host needs a valid certificate matching its name, otherwise delivery fails in enforce mode.

Serve the file and check

The policy file must be reachable over HTTPS on the host mta-sts.your-domain.com, with a valid certificate for exactly that name and Content-Type text/plain. Static web space or a Cloudflare Worker route is enough. Then publish the two TXT records and use the MTA-STS checker to confirm DNS record, file and MX hosts match.

Frequently asked questions

What if I forget an MX?
In enforce mode sending servers reject mail to that MX. That is why testing comes first: there the error only shows up in the TLS-RPT report.
Does the id need a particular format?
No, only unique and made of letters and digits. The generator timestamp satisfies that and makes the change traceable.
Is TLS-RPT mandatory?
Not for the mechanism to work, but without reports you never learn whether servers fail the policy. The generator provides the record alongside.
Check the published MTA-STS setup

Free MTA-STS check: DNS record, policy file, mode, max_age and whether your MX servers are covered. Shows whether inbound mail enforces TLS.

More tools

Free tool

Email Check

Check SPF, DKIM, DMARC and MX of a domain in one run, free and without sign-up. Shows whether your mail meets the Google and Yahoo sender requirements.

Open tool →
Free tool

SPF Checker

Free SPF record check and lookup: syntax, includes, the 10 DNS lookup limit and the closing qualifier. Shows whether your domain blocks forged senders.

Open tool →
Free tool

DMARC Checker

Free DMARC record check: policy (none, quarantine, reject), pct, reporting addresses and syntax errors. With recommendations for moving to p=reject.

Open tool →
Free tool

DNS Checker

Free DNS lookup straight from the authoritative name server: A, AAAA, CNAME, MX, TXT, NS and CAA records at a glance. No sign-up, every record explained.

Open tool →
Free tool

MX Checker

Free MX lookup: which mail servers receive for a domain, do they resolve, is the priority right? Detects missing and unreachable mail servers.

Open tool →
Free tool

SSL Checker

Free SSL certificate check: expiry date, issuer, chain, host name and TLS version, mail servers too. Detects expired, self-signed and mismatched certificates.

Open tool →
Free tool

HTTP Header Checker

Free HTTP header check: HSTS, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options, Referrer-Policy and Permissions-Policy, with fixes.

Open tool →
Free tool

Redirect Checker

Free 301 redirect check: every hop with status code and response time, from http to https, from www to non-www. Detects redirect chains, loops and 302s.

Open tool →
Free tool

DKIM Checker

Free DKIM record check and lookup: selector, key type, key length, syntax and revoked keys. Leave the selector empty to try common selectors automatically.

Open tool →
Free tool

DNSSEC Checker

Free DNSSEC test: DS record, resolver validation and broken signature chains. Shows whether validating resolvers like Google and Cloudflare still reach you.

Open tool →
Free tool

TLS-RPT Checker

Free TLS-RPT record check: syntax, reporting addresses (rua) and common errors such as a missing record. Shows whether you get reports on TLS failures.

Open tool →
Free tool

BIMI Checker

Free BIMI record check: syntax, logo URL, SVG Tiny PS, VMC certificate and the DMARC prerequisite. Shows why your logo does not appear in Gmail.

Open tool →
Free tool

Blacklist Check

Free IP and domain blacklist check: mail server IPs, website IP and domain against Spamhaus, Spamcop, Barracuda, PSBL and SURBL. With delisting links.

Open tool →
Free tool

Domain Checker

Free domain check: WHOIS data via RDAP straight from the registry, expiry date, registrar, EPP status, transfer lock and name servers. Warns about expiry and holds.

Open tool →