v=spf1 TXT record to paste into DNS — with a live count of the DNS lookups it costs.v=spf1 include:_spf.google.com ~all
a/mx to authorize the addresses already in your DNS.~all while you confirm every sender is listed, then switch to -all.@).include:— authorizes another domain’s SPF record (how you add a provider like SendGrid or SES).ip4: / ip6: — authorize specific IPs or CIDR ranges. These cost no DNS lookup.a / mx— authorize the hosts in your domain’s A or MX records. Each costs one lookup.~all / -all — the catch-all. Softfail marks unlisted senders suspicious; hardfail rejects them.SPF caps the number of DNS lookups a record may trigger at 10 (RFC 7208 §4.6.4). Every include, a, mx, ptr and exists counts — and includes can nest, so one provider may cost several. Exceed the limit and receivers return PermError, which can fail SPF outright. The counter above tracks this as you build, but it can’t see lookups insidea provider’s record, so leave headroom.
v=spf1 record. Merge them into one.+all. It authorizes the entire internet to send as you — never publish it.SPF (Sender Policy Framework) is a DNS TXT record that lists which mail servers are allowed to send email for your domain. Receiving servers check it to help decide whether a message is legitimate or spoofed.
Add it as a TXT record on the root of your domain (host '@' or the bare domain). Use exactly one SPF record per domain — multiple v=spf1 records is a misconfiguration that causes a PermError.
Each include, a, mx, ptr and exists mechanism in your SPF record triggers a DNS lookup, and SPF allows a maximum of 10 (RFC 7208). Go over and receivers return PermError, which can fail SPF entirely. This tool counts your lookups live so you can stay under the cap.
Use ~all (softfail) while you're still confirming every legitimate sender is listed, then switch to -all (hardfail) once you're confident. -all tells receivers to treat unlisted senders as unauthorized; +all effectively disables SPF and should never be used.
SenderKit sends your transactional email, SMS, and push from one API — with SPF, DKIM, and DMARC handled for you. Free up to 3,000 messages a month.
By creating an account, you agree to our Terms.