Create SPF, DKIM and DMARC records
Build your records with every option explained, and copy them straight into your DNS. DMARC follows DMARCbis (RFC 9989, 9990 and 9991). With presets for Microsoft 365 and Azure Communication Services, an SPF lookup counter, DKIM keys created in your own browser, and MTA-STS, TLS-RPT and BIMI too.
Optional. With your domain we fill in the host names and you can load the records you have now. Everything is built in your browser; 365Fanatic stores nothing.
Advanced: redirect, exists, exp and no-mail domain
Useful when many domains share one policy. A redirect only applies when the record has no all; we leave all out in that case.
We don't offer ptr: the standard advises against it and large receivers ignore it.
Read an existing SPF record
DMARCbis, the current standard: RFC 9989 (policy), RFC 9990 (aggregate reports) and RFC 9991 (failure reports), May 2026. The record still starts with v=DMARC1. New: np, psd and t. Removed: pct, rf and ri.
Subdomains and advanced: sp, np, psd
np=reject (RFC 9989) stops mail from made-up subdomains such as invoice.contoso.com, even while your real subdomains are still at none. Receivers that don't know it yet use sp or p.
For normal organisations: leave it out. psd=y is for operators of domains such as .nl or gov.uk.
RFC 9989 dropped pct, rf and ri; new receivers ignore them. In practice only 0 and 100 worked. Prefer t=y.
Read an existing DMARC record
Done? Check the result with our email security check. What every tag means is in the guide to every tag.
In what order?
- SPF: one record with every service that sends for you, under ten DNS lookups.
- DKIM: for Microsoft 365 and every other service, with your own domain.
- DMARC at
p=nonewith a rua address, read the reports, then move throughquarantinetoreject. - TLS-RPT and MTA-STS (testing, later enforce), and DNSSEC with DANE.
- BIMI last, once DMARC is at quarantine or reject.