AZ Tools

SPF Record Builder

Network

Builds the `v=spf1` TXT record that tells receiving mail servers which hosts are allowed to send mail from your domain. Drop in your sending IPs, third-party providers (Google Workspace, Microsoft 365, Mailgun, etc.), and pick a closing all-qualifier. The tool keeps a running DNS-lookup count — SPF has a hard limit of 10 lookups per evaluation, and exceeding it produces a permerror that breaks delivery. Warnings light up for the common footguns: `+all`, `?all` neutral, records that overflow a 255-byte TXT chunk.

Presets
Built-in mechanisms
TXT record
v=spf1 mx ~all
DNS lookups: 1 / 10 · 14 B
Warnings
  • `~all` softfail is the safe bootstrap value. Tighten to `-all` once DMARC reports look clean.

Publish as a TXT record on your apex domain. Only one SPF record per domain — multiples are a configuration error.

How to use

  1. Start from the relaxed preset (`~all`) while you discover senders — soft-fail is forgiving for legitimate-but-unlisted mail.
  2. Add every third-party provider via include: — never paste their IPs directly, they rotate.
  3. Tighten to `-all` once your DMARC reports show no legitimate sources missing.

Frequently asked questions

Why is the 10-lookup limit a big deal?
RFC 7208 caps SPF evaluation at 10 DNS lookups per check (each include:, a, mx, ptr, exists costs one). If you exceed it the verifier returns permerror, which most strict DMARC policies treat as a fail.
Is `-all` or `~all` safer?
`-all` (hardfail) is the goal once you're sure every sender is listed — DMARC `p=reject` only kicks in for hard fails. `~all` (softfail) is the safer bootstrapping setting; mail still arrives but quarantined.

Related tools