BETA
OSH.co.za - Email Deliverability and DMARC Specialists

πŸ”’ OSH.co.za Domain Deliverability Checker

SPF, DKIM, DMARC, FCrDNS, Blacklists & Inbox Prediction

πŸ”§ Related Tools

ANALYSIS TOOLS
DIAGNOSTIC TOOLS
BUILDER TOOLS

πŸ“¨ SPF Record Checker

Check your SPF record, visualise the full DNS lookup tree, and validate policy strength for any domain.

Frequently Asked Questions

Common questions about SPF records and email sender policy.

SPF (Sender Policy Framework) is a DNS-based email authentication mechanism defined in RFC 7208. It lets a domain owner publish a list of mail servers that are authorised to send email on behalf of that domain. When a receiving mail server gets an email claiming to come from your domain, it looks up your SPF record and checks whether the sending server's IP address is in the authorised list. If the check fails, the receiving server can reject or flag the message as suspicious. SPF is published as a TXT record at the root of your domain (e.g. example.com) with a value that starts with v=spf1.

The all mechanism at the end of an SPF record defines what happens to mail sent from servers not listed in the record. The qualifier before all controls the result: -all (fail) means the domain explicitly rejects mail from unlisted servers β€” these messages should be rejected. ~all (softfail) means mail from unlisted servers should be accepted but marked as suspicious β€” this is the recommended setting because it avoids blocking legitimate mail that has been forwarded. +all (pass) allows any server to send mail for the domain β€” this is dangerous and effectively disables SPF protection. ?all (neutral) provides no guidance, offering no protection at all. Most organisations should use ~all for compatibility with email forwarding scenarios.

RFC 7208 limits SPF evaluation to a maximum of 10 DNS lookups per check. This limit exists to prevent denial-of-service attacks where a malicious SPF record causes a receiving server to make an enormous number of DNS queries when checking a single message. Each include:, a, mx, ptr, exists, and redirect= mechanism in an SPF record (and within any included records) counts toward this limit. If the limit is exceeded, the SPF check returns a permerror result, which many receivers treat as a failure. As you add more email service providers, each of which may add their own include: references with further nesting, it becomes easy to exceed 10 lookups.

If your SPF record exceeds 10 DNS lookups, you have several options. The most straightforward is to audit and remove unused mechanisms: if you no longer use a particular email provider, remove their include: from your record. You can also replace include: references with explicit IP ranges using ip4: and ip6: mechanisms β€” these do not count toward the DNS lookup limit. Another option is SPF flattening, which resolves all include: references to their underlying IP ranges at publish time and rewrites your SPF record as a flat list of ip4: entries. However, flattened records must be kept up to date when providers change their IP ranges, so automated flattening tools are usually required for this approach.

SPF flattening is the process of resolving all DNS-lookup-requiring mechanisms in your SPF record β€” such as include:, a, and mx β€” into their underlying IP addresses at publication time. The result is a single SPF record containing only ip4: and ip6: entries, which require zero DNS lookups during evaluation. This guarantees you will never exceed the 10-lookup limit. The downside is maintenance: when one of your email providers changes their IP ranges, your flattened record becomes out of date and valid mail may start failing SPF. To manage this effectively, use an automated SPF flattening service (such as AutoSPF, EasyDMARC, or dmarcian) that monitors upstream changes and updates your record automatically. Manual flattening is fragile and is only practical for organisations with very stable, self-hosted mail infrastructure.

Data Collection: This SPF Checker processes data to provide results. When you enter a domain name and submit it for checking, the domain name is used to perform DNS TXT lookups for SPF records. No domain names or results are stored. We do not store, log, or share the domain names or data you submit beyond what is necessary to return your results.

Data Usage: Your input is used solely to generate results. No data is saved, analysed for profiling, or shared with third parties. Each new check operates independently.

DNS Lookups: To check your domain, we perform DNS queries via Google's DNS-over-HTTPS (dns.google). These queries are subject to Google's Privacy Policy. Only the domain name is transmitted β€” no personally identifiable information.

Support Requests: If you submit a support request, your name, email address, and message are transmitted securely to our support team via SMTP2Go. This information is used solely to respond to your query.

Analytics: We may collect anonymized usage statistics (page views, tool usage frequency) to improve functionality. This does not include the domain names you check or any personally identifiable information.

Contact: For privacy enquiries or questions, please contact us at support@osh.co.za or visit osh.co.za/contact.