SPF & DMARC Generator

Build correct SPF and DMARC DNS records in a minute — pick your email providers (Google Workspace, Microsoft 365, SendGrid, SES…), set your policy, and copy ready-to-publish TXT records. Live DNS-lookup counting warns you before you hit SPF's 10-lookup limit. Free, instant, no signup.

SPF record

Which services send email as example.com?

TXT record at example.com

v=spf1 include:_spf.google.com ~all

Estimated DNS lookups: 4 of 10 allowed (provider chains counted; custom includes counted as 1 each — their own nested includes add more). Within the limit.

DMARC record

What should receivers do with mail that fails SPF/DKIM for example.com?

TXT record at _dmarc.example.com

v=DMARC1; p=none

Publishing and verifying the records

  • SPF — publish as a TXT record on the bare domain (host @ in most DNS panels). Replace any existing v=spf1 record; never add a second one.
  • DMARC — publish as a TXT record on the _dmarc host. Start with p=none plus a rua address, watch reports for 2–4 weeks, then tighten to quarantine and reject.
  • DKIM — copy the CNAME/TXT records from each sending provider's dashboard; the keys are theirs to generate.
  • Verify — after DNS propagates, run our SPF checker, DMARC checker or the full email health check to confirm everything resolves and parses.

Frequently asked questions

What is an SPF record?

SPF (Sender Policy Framework) is a DNS TXT record on your domain that lists which servers are allowed to send email claiming to be from you. Receiving servers look it up during delivery: if mail arrives from an IP the record doesn't authorise, the receiver can mark it as spam or reject it. It's one of the three pillars of email authentication, together with DKIM and DMARC.

What is the SPF 10-DNS-lookup limit?

Evaluating an SPF record may trigger at most 10 DNS lookups — every include, a, mx, exists and redirect counts, including the ones nested inside your providers' includes (Google's alone costs 4). Go over the limit and receivers return permerror, which many treat as "no SPF at all". This is the most common way SPF silently breaks; the generator counts lookups as you add providers and warns you near the limit.

Should I end my SPF record with -all or ~all?

-all (fail) tells receivers to reject unauthorised mail outright; ~all (softfail) suggests marking it suspicious instead. Start with ~all while you're still discovering which services send on your behalf, then move to -all once DMARC reports confirm nothing legitimate is failing. ?all (neutral) is effectively no protection — avoid it.

Can I have two SPF records?

No — a domain must publish exactly one TXT record starting with v=spf1. Two SPF records cause a permanent error and receivers ignore both. If you add a second sending service, merge its include into your existing record instead of creating a new one.

What is DMARC and what does p=none mean?

DMARC builds on SPF and DKIM: it tells receivers what to do with mail that fails authentication (none / quarantine / reject) and where to send aggregate reports about who is sending as your domain. p=none is monitoring mode — nothing is blocked, but you receive reports. The standard rollout is p=none → review reports for a few weeks → p=quarantine (often with pct=10 first) → p=reject.

What are rua reports and how do I read them?

rua=mailto:… receives daily aggregate XML reports from receivers (Google, Microsoft, Yahoo…) summarising which IPs sent mail for your domain and whether SPF/DKIM passed. Raw XML is unpleasant to read at scale — most teams point rua at a report-processing service, but even manually skimming a week of reports quickly reveals forgotten senders and spoofing attempts.

Why does SPF fail when someone forwards my email?

A forwarder resends your message from its own servers, which aren't in your SPF record — so SPF fails at the final destination. This is by design and is exactly why DKIM matters: the cryptographic signature survives forwarding. DMARC passes if either SPF or DKIM passes with alignment, so a correct setup keeps forwarded mail deliverable.

Does this generator create DKIM records too?

No — DKIM keys are generated by your sending provider (Google Workspace, SES, SendGrid…), because the private key lives on their servers. Each provider's dashboard gives you the exact CNAME or TXT records to publish. Once SPF, DKIM and DMARC are all in place, verify the whole setup with our email health checker.

Records published — now make sure they stay correct

SPF breaks when someone adds a sending tool; DMARC policies drift. WatchFor's email health monitoring checks SPF, DKIM and DMARC continuously and alerts you when a record changes or breaks.

Free plan · 15 monitors · no credit card required