SPF record checker

Example result for example.com

TXT at example.com
v=spf1 include:_spf.example.net ip4:192.0.2.0/24 +all
  • +all lets any server send as you.

    It means “every server on the internet is allowed”, so SPF passes for spammers too and protects nothing.

    Fix: Change it to ~all or -all after listing your real senders.

  • 1 of 10 DNS lookups used.

    Includes inside included records count too; this total covers them.

Enter a domain to see its SPF record, every record it includes and the total number of DNS lookups. Each problem is explained in plain English with the change that fixes it. The check reads public DNS only and sends no email.

What SPF does

SPF (Sender Policy Framework, RFC 7208) lets a domain publish which servers may send its mail. The receiving server looks up a TXT record that starts with v=spf1 on the domain in the message's envelope sender (the Return-Path) and compares the connecting server's IP address with the list. The answer is one of pass, fail, soft fail, neutral, none, or an error.

SPF alone does not protect the From address people see: that is DMARC's job, which uses an SPF or DKIM pass only when the checked domain matches the From domain. Check DMARC with our DMARC checker.

How to read a record

A record is a list of terms evaluated left to right; the first one that matches decides the result.

TermMeaningDNS lookup?
ip4:192.0.2.0/24, ip6:2001:db8::/32These addresses may sendNo
include:_spf.example.netWhatever that domain's SPF record allowsYes
a, mxThe domain's own A/AAAA or MX hostsYes
exists:, ptrAdvanced and rarely needed (ptr should not be used)Yes
redirect=example.netUse another domain's record insteadYes
-all, ~all, ?allEverything else fails, soft-fails or is neutralNo

Each term can start with a qualifier: + pass (the default), - fail, ~ soft fail, ? neutral.

The problems this checker finds

Soft fail or fail?

~all (soft fail) and -all (fail) both tell receivers that unlisted servers are not yours. Most large mailbox providers weigh them the same way and leave the final decision to DMARC, so ~all is the usual choice while you confirm that every sender is listed. Use -all when you are sure, for example on a domain that sends no mail at all: v=spf1 -all.

Requirements of the large mailbox providers

Since 2024 Gmail and Yahoo require SPF or DKIM on all mail, and SPF, DKIM and DMARC from bulk senders; Outlook.com has applied the same rules to high-volume senders since 2025. See Google's sender guidelines and Yahoo's sender requirements. Build a new record with our SPF generator.

Checking email addresses rather than domains? Try our free email checker or see pricing for lists and the API.

Frequently asked questions

What is the SPF 10 lookup limit?

Receivers stop evaluating an SPF record after 10 DNS lookups, counting every include, a, mx, ptr, exists and redirect, including those inside included records. Past 10, SPF returns a permanent error and fails for every message (RFC 7208 section 4.6.4).

Can a domain have two SPF records?

No. With more than one TXT record starting with v=spf1, receivers return a permanent error. Merge all mechanisms into a single record that ends with one all term.

Does this checker send an email?

No. It reads the public DNS records of the domain you enter, through a DNS-over-HTTPS resolver, and explains them in your browser. Nothing is sent to the domain.

Updated · Maintained by the email-validation.org team