SPF / DMARC Record Generator
NewBuild SPF and DMARC DNS TXT record strings from simple form inputs, ready to paste into your DNS zone.
Frequently Asked Questions
Where do I actually put the generated record?
Both are published as TXT records in your domain's DNS zone — the SPF record goes on the root/apex host (often shown as "@"), while the DMARC record goes specifically on the _dmarc subdomain host. The tool labels which host to use above each generated value.
What's the difference between -all, ~all, and ?all in SPF?
-all is a hard fail that tells receiving mail servers to reject mail from senders not listed in your SPF record; ~all is a soft fail that asks them to accept but flag/mark it as suspicious; ?all is neutral and effectively makes SPF advisory only. -all is the strongest and most commonly recommended once you're confident your sender list is complete.
Why would I use p=none for DMARC instead of quarantine or reject?
p=none is a monitor-only mode: it doesn't affect mail delivery, but it enables aggregate reporting (rua) so you can see which sources are sending mail as your domain before you commit to actually blocking or quarantining unauthenticated mail with quarantine or reject.
Does this generator check that my SPF/DMARC records will actually work?
No — it only builds a correctly formatted record string from your inputs. It doesn't validate that your listed mail senders are accurate or complete, and it can't verify DNS propagation or existing records, which you should check separately with a DNS lookup tool after publishing.
Can I have more than one SPF record for a domain?
No — having multiple SPF TXT records for the same host is explicitly invalid per RFC 7208 and causes SPF checks to fail (PermError). If you need multiple sources, combine them into mechanisms within a single SPF record, as this tool's single-record output is designed to do.