Email Checker
SPF, DKIM, DMARC and MX for a domain, read and explained, including the SPF lookup budget most tools never count.
About SPF, DKIM and DMARC
Three records decide whether your mail is believed. SPF lists who may send for your domain, DKIM signs each message with a key published in DNS, and DMARC tells receivers what to do when neither matches. A missing or broken one of them does not bounce your mail loudly: it lands in spam, quietly, and usually for the recipients you care about most.
- The message leaves your serverSending server
mail.example.com198.51.100.25DKIM signature: domain and selectord=example.com; s=selector1Envelope sender (MAIL FROM), hidden from the readerbounce@example.comFrom address, shown to the readernews@example.com - The receiving server checks
- SPF
Is the sending address listed in the SPF record of the envelope sender's domain?
TXT example.comv=spf1 ip4:198.51.100.25 -all - DKIM
Does the signature verify with the public key the signing domain (d=) publishes under its selector?
TXT selector1._domainkey.example.comv=DKIM1; p=MIIBIjANBg… - DMARC
Did SPF or DKIM pass for a domain aligned with the From? One aligned pass is enough; without one, the domain's policy applies.
TXT _dmarc.example.comv=DMARC1; p=quarantineAligned means the same domain as the From or, in the default relaxed mode, the same parent domain: mail.example.com aligns with example.com. A pass for any other domain, a provider's for instance, does not count.
- What happens next
- DMARC passesThe message goes on to the usual spam filters, then to the inbox.
- Fails, p=noneDelivered as if there were no DMARC: the failure only shows in the reports, if you ask for them (rua).
- Fails, p=quarantineSent to the spam folder.
- Fails, p=rejectRefused during delivery: the sender gets a bounce.


The number to look at first is the SPF lookup budget. SPF allows ten terms that query DNS, and they are counted through every include, so a record with two words in it can consume a dozen once your provider's own includes are followed. Over the limit, the whole evaluation is a permanent error and receivers behave as though you had published nothing. It is the failure that appears without anyone changing anything on your side, the day a provider adds an include to their record. The second thing to read is the DMARC policy: p=none monitors and protects nothing, and it is where most domains stop. As for DKIM, a selector cannot be discovered, so a tool finding no key proves only that it guessed wrong. Name your selector to get a real answer.
Frequently asked questions
My SPF record is short. How can it be over ten lookups?
Is p=none enough?
The tool found no DKIM key. Do I have a problem?
Why does a 1024-bit key get flagged?
Related guides
Related tools
Go further
Network glossary: Reverse DNS, TTL