Instantly verify SPF record for any domain
Enter a domain name below to check its SPF record and verify email authentication setup.
SPF validates that emails are sent from authorized IP addresses for a domain
Helps protect your domain from being used in phishing and spam attacks
Properly configured SPF records improve email deliverability rates
Ensure your SPF record is published and syntactically correct
Confirm your domain is protected against email spoofing attacks
Valid SPF records help emails reach the inbox instead of spam
Identify and resolve email authentication problems quickly
The domain that was checked for SPF records
Whether an SPF record was found (true/false)
The raw SPF record text as published in DNS
Parsed components of the SPF record for analysis
Number of DNS TXT records examined during the lookup
List all services and servers that send email for your domain
Build your SPF record with proper syntax and mechanisms
Add the SPF record as a TXT record in your DNS
Use our SPF checker to verify the record is working correctly
Specifies the SPF version. Must always be 'spf1' and appear first
Example:
v=spf1
Required at the beginning of every SPF record
Authorizes a specific IPv4 address or CIDR range to send email
Example:
ip4:192.168.1.1 or ip4:192.168.1.0/24
Use for specific server IP addresses
Authorizes a specific IPv6 address or range to send email
Example:
ip6:2001:db8::1 or ip6:2001:db8::/32
Use for IPv6 server addresses
Authorizes the A record IP addresses of the domain to send email
Example:
a or a:mail.example.com
Includes domain's A record IPs
Authorizes the MX record IP addresses of the domain to send email
Example:
mx or mx:example.com
Includes domain's MX record IPs
Includes the SPF record of another domain
Example:
include:_spf.google.com
Use for third-party email services
Passes if the specified domain exists in DNS
Example:
exists:example.com
Advanced mechanism, rarely used
Redirects SPF processing to another domain's SPF record
Example:
redirect=_spf.example.com
Alternative to include, cannot be used with 'all'
Soft fail for emails not matching any mechanism (recommended)
Example:
~all
Recommended for most implementations
Hard fail (reject) for emails not matching any mechanism
Example:
-all
Use only when SPF is fully configured and tested
Pass all emails (not recommended for security)
Example:
+all
Provides no protection, avoid using
Neutral result for emails not matching any mechanism
Example:
?all
Provides minimal protection
The message was sent from an IP address authorized in the SPF record
Action Required:
No action needed - SPF is working correctly
The message was sent from an IP address not listed in the SPF record
Action Required:
Check if sender should be authorized and update SPF record if needed
The sending IP doesn't match SPF record but policy is lenient
Action Required:
Monitor for legitimate senders and update SPF record as needed
The SPF record doesn't specify whether the sender is authorized
Action Required:
Review SPF record completeness and add missing mechanisms
SPF check couldn't complete due to temporary DNS problems
Action Required:
Check DNS configuration and wait for resolution
The SPF record has syntax errors or exceeds lookup limits
Action Required:
Fix SPF record syntax and reduce DNS lookups if needed
The domain doesn't have an SPF record published
Action Required:
Create and publish an SPF record for the domain
Replace 'include:' mechanisms with 'ip4:' or 'ip6:' when possible
Example:
Replace 'include:_spf.example.com' with 'ip4:192.168.1.1'
Benefit:
Reduces DNS lookups and improves SPF check speed
Audit and remove mechanisms for services no longer used
Example:
Remove 'include:_spf.oldprovider.com' after switching providers
Benefit:
Reduces lookup count and eliminates potential failures
Replace nested includes with direct mechanisms when possible
Example:
If included domain only has IP addresses, use those IPs directly
Benefit:
Prevents nested lookups from counting against your limit
Combine multiple mechanisms for the same service
Example:
Use CIDR notation 'ip4:192.168.1.0/24' instead of multiple IPs
Benefit:
Reduces record length and complexity
Regularly check your SPF record's DNS lookup count
Example:
Use SPF testing tools to verify you're under the 10 lookup limit
Benefit:
Prevents SPF failures due to exceeded lookup limits
Publishing more than one SPF record for the same domain
Consequence:
DNS resolution fails and SPF authentication breaks completely
Solution::
Combine all mechanisms into a single SPF record
Not including email marketing platforms, CRMs, or other services
Consequence:
Legitimate emails from these services fail SPF and get blocked
Solution::
Audit all email sources and include their SPF mechanisms
Including large shared IP ranges from cloud providers
Consequence:
Allows unauthorized senders to pass SPF authentication
Solution::
Use specific IP addresses or smaller CIDR ranges
Having more than 10 DNS lookups in the SPF record
Consequence:
SPF authentication fails with permerror result
Solution::
Optimize record by using IP addresses instead of includes
Publishing SPF record on wrong subdomain or with wrong name
Consequence:
SPF record not found during authentication checks
Solution::
Publish SPF record on root domain with correct DNS name
Including 'ptr' mechanism or other deprecated SPF features
Consequence:
Unreliable authentication and potential security issues
Solution::
Remove deprecated mechanisms and use modern alternatives
Use '~all' initially to avoid blocking legitimate emails during testing
Avoid overly complex SPF records that are hard to maintain and debug
SPF has a 10 DNS lookup limit; use 'include:' mechanisms efficiently
Test SPF records regularly, especially after infrastructure changes
Keep records of all authorized email sources and SPF modifications
Prefer 'ip4:' and 'ip6:' over 'a' and 'mx' mechanisms when possible
Never publish multiple SPF records; combine all mechanisms into one
Design SPF records that can accommodate future email sources
Get started with our email validation API and experience the power of AI-powered email validation.