Free Security Tool

Email Security Checker

Enter your domain and get a real grade for SPF, DMARC and DKIM in seconds. See exactly which records are missing or set too loosely to actually stop spoofed email.

SPF, DMARC and DKIM are the three DNS records that tell other mail servers whether an email claiming to be from your domain is genuine. Without them, anyone can send email that appears to come from you, and it will often land straight in someone's inbox. Having the records isn't enough either; a permissive SPF qualifier or a DMARC policy set to monitor-only leaves the door open even when something is technically configured. This checker looks up your live DNS records and grades what it finds.

What this checker grades

SPF record

Confirms a Sender Policy Framework record exists, listing which mail servers are authorized to send email as your domain.

SPF record count

Flags it when more than one SPF record is published. RFC 7208 allows only one, and multiple records can make mail servers reject the check entirely.

SPF policy strength

Checks the qualifier at the end of your SPF record. A +all setting authorizes literally any server to send as your domain, defeating the point of SPF.

DMARC record

Confirms a DMARC record exists at _dmarc.yourdomain.com, telling receiving servers what to do with mail that fails SPF or DKIM.

DMARC enforcement

Checks whether the DMARC policy actually blocks or quarantines failing mail (p=quarantine or p=reject), or only reports on it (p=none).

DKIM signing

Looks for a DKIM record under common default selectors, confirming your domain cryptographically signs outgoing mail.

Why email spoofing is still this easy

Email was never designed with sender verification in mind, so nothing in the core protocol stops someone from typing your domain into the "From" field of a message. SPF, DKIM and DMARC were added afterwards, and each one is optional and independently configured. A domain with none of them set up sends a signal to mail servers that anyone is free to fill in, which is exactly what phishing campaigns rely on when they impersonate a company's billing or support address.

Why a record existing isn't the same as a record working

This is the part plain pass/fail checks miss. An SPF record with a +all qualifier technically exists, but it authorizes any server on the internet, so it protects nothing. A DMARC record set to p=none exists too, but it only emails you a report after the fact; it never stops a spoofed message from reaching an inbox. Both look fine on a checklist and both leave the domain exposed.

  • SPF should end in ~all (soft fail) or -all (hard fail), never +all
  • DMARC should move from p=none to p=quarantine or p=reject once reports confirm legitimate mail passes
  • DKIM needs to be enabled with your actual email provider; a missing selector here can be a false negative if a custom one is used

How to fix what's missing

All three records are added as TXT entries through your DNS provider, not through your mail server or application code. Your email provider's documentation (Google Workspace, Microsoft 365, or whichever service sends your mail) will give you the exact SPF include and DKIM selector to publish. DMARC is the one you configure yourself: start at p=none to collect reports without blocking anything, confirm your legitimate mail is passing, then move to p=quarantine or p=reject.

Frequently asked questions