Email Deliverability Checker

Free email deliverability test and spam checker. Check MX, SPF, DKIM, DMARC, BIMI and reverse DNS for your domain in one pass, with a fix for each failure.

Advertisement

Email Deliverability Checker

What this test checks

Enter the domain you send email from (or any email address on it) and this tool runs an email deliverability test against its public DNS. In one report it checks everything a receiving mail server looks up before it decides whether your message goes to the inbox, the spam folder, or back to you as a bounce:

  • MX records: whether the domain can receive mail at all, and which provider handles it (Google Workspace, Microsoft 365, a secure email gateway, or self-hosted). A Null MX or missing MX is flagged, because a sender domain that cannot receive replies or bounces looks suspicious to receivers.
  • SPF: whether exactly one v=spf1 record exists, whether every term in it is valid syntax, how many DNS lookups it needs against the RFC 7208 limit of ten (counted through nested includes), and whether it ends in -all, ~all, ?all or the dangerous +all.
  • DKIM: a sweep of more than 25 common selectors (google for Google Workspace, selector1 and selector2 for Microsoft 365, k1 for Mailchimp, s1 and s2 for SendGrid, mandrill, default, pm, mg, amazonses and more), plus the selectors for any sending service detected from your SPF and TXT records, plus a selector you supply. Each key found is checked for revocation (an empty p=), testing mode (t=y) and an estimated key length.
  • DMARC: the policy (none, quarantine or reject), the pct percentage, whether aggregate reports (rua) are configured, and the alignment modes (adkim, aspf).
  • Reverse DNS: for up to three MX hosts, whether the IP has a PTR record and whether that PTR hostname resolves back to the same IP (forward-confirmed reverse DNS).
  • MTA-STS and TLS-RPT: whether inbound mail requires validated TLS and whether TLS failures are reported to you.
  • BIMI: whether a brand logo record is published, and whether DMARC is strict enough for it to display.

Every failure and warning comes with a specific fix and a link to the page that explains it in full.

How to read the score

The score out of 100 weights the records that decide deliverability: SPF, DKIM and DMARC carry 25 points each, MX records 10 and reverse DNS 5. A section that passes earns its full weight, a section with a warning earns half, and a failed section earns nothing. MTA-STS, TLS-RPT and BIMI are reported but not scored, because they protect mail coming in to you or add branding rather than deciding whether your outgoing mail is accepted.

  • Fail means a receiver will treat your mail as unauthenticated: a missing SPF or DMARC record, two SPF records, more than ten SPF lookups, +all, or no DKIM key at the selector you sign with.
  • Warning means it works today but is weak or fragile: p=none, no rua address, ~all without an enforced DMARC policy, nine or ten SPF lookups, a 1024-bit DKIM key, or no DKIM key found at the common selectors.
  • Info is context that does not change the score, such as alignment modes or an optional record you have not published.

Why mail goes to spam even when this check passes

A DNS check answers one question: is the domain set up so that receivers can authenticate its mail? That is necessary, and since 2024 it is mandatory at Gmail and Yahoo, but it is not the whole picture. Once a message is authenticated, the receiving provider decides inbox or spam based on things DNS cannot show:

  • Sending reputation of the domain and the IP addresses you send from, built from how recipients react to your mail over time.
  • Complaint rate. Google asks bulk senders to stay below 0.30% and recommends staying under 0.10%, as reported in Google Postmaster Tools.
  • Alignment on real messages. DMARC passes only when SPF or DKIM passes for the same domain that appears in the From: address. DNS shows the policy, not whether a particular platform signs with your domain. Paste the headers of a real message into the Email Header Analyzer to see the actual SPF, DKIM and DMARC results.
  • Content and engagement: links, attachments, formatting, and whether recipients open, reply or delete without reading.

To measure inbox placement directly, you need a seed test that sends real mail to test mailboxes at different providers and reports where each one landed.

Gmail and Yahoo sender requirements

Gmail requires every sender to authenticate with SPF or DKIM, to have valid forward and reverse DNS on sending IPs, to use TLS, and to sign with a DKIM key of at least 1024 bits. Senders of more than 5,000 messages a day to Gmail accounts must also set up SPF, DKIM and DMARC (a policy of p=none is enough), align the From: domain with the SPF or DKIM domain, support one-click unsubscribe on marketing mail, and keep spam complaints below 0.30%. Unauthenticated mail is rejected with 550 5.7.26; mail rejected on reputation gets 550-5.7.1.

Common failures and how to fix them

No SPF record. Publish a single TXT record at the root of the domain that lists every service sending as you, for example v=spf1 include:_spf.google.com ~all. The SPF Record Generator builds one.

Two SPF records. A domain may have only one. Two is a permanent error and SPF fails for every message. Merge the mechanisms into one record.

Too many DNS lookups. Each include, a, mx and exists costs a lookup, and includes can contain more includes. Past ten, SPF returns PermError. Remove services you no longer use, replace a and mx with ip4: ranges, or move a sender to a subdomain.

No DKIM key found. DKIM selectors cannot be listed from DNS, so a checker can only try likely names. If your provider uses a custom selector, open a message you sent, find the DKIM-Signature header and enter its s= value. If there is no DKIM-Signature at all, DKIM signing is not turned on in your mail platform.

DMARC at p=none. It satisfies the bulk-sender rule but asks receivers to do nothing with failing mail. Read the aggregate reports until every legitimate sender passes, then move to p=quarantine and finally p=reject.

Missing reverse DNS. If your MX hosts also send your outgoing mail, their IPs need a PTR record whose hostname resolves back to the same IP. Only the owner of the IP block (your host or ISP) can set it.

What this tool does not check

Blocklists are not included. The major DNS blocklists, Spamhaus included, refuse queries that arrive through public resolvers, so a browser-based tool cannot give a reliable answer. Look up your sending IP on each blocklist operator's own site. The tool also checks reverse DNS for MX hosts only; if you send from different servers, check those IPs separately.

Passive and safe to run

Every check is a public DNS query, plus a fetch of the domain's own published MTA-STS policy file. The tool never connects to the domain's mail servers and never sends a test message, so you can run it against any domain: your own, a client's, or a vendor's.

Frequently Asked Questions

Is this a spam checker for my emails?+

It checks the DNS records that receivers use to decide whether your mail is authenticated: MX, SPF, DKIM, DMARC and reverse DNS. Failing any of them is the most common reason mail goes to spam or bounces. It does not send a test message, so it cannot measure inbox placement or score message content.

Why are my emails going to spam when every check passes?+

Authentication is necessary but not sufficient. Once mail is authenticated, providers decide inbox or spam on sending reputation, complaint rate, alignment on real messages and content. Check Google Postmaster Tools for reputation and complaint rate, and run a seed test to see real placement.

Why does it say no DKIM key was found when DKIM is set up?+

DKIM selectors cannot be listed from DNS, so the tool tries more than 25 common ones. If your provider uses a custom selector, open a message you sent, find the DKIM-Signature header and enter its s= value in the selector field.

What does the SPF lookup count mean?+

SPF allows at most 10 DNS-querying mechanisms (include, a, mx, exists, ptr, redirect), counted through nested includes. Over 10, SPF returns PermError and fails for every message even though the record looks correct.

Should my SPF record end in ~all or -all?+

With DMARC at quarantine or reject, ~all is a sound choice because DMARC decides what happens to failing mail and softfail avoids rejecting forwarded mail on SPF alone. Without an enforced DMARC policy, ~all only flags unlisted senders, so -all or an enforced DMARC policy is stronger.

Is DMARC p=none good enough?+

It meets the Gmail and Yahoo bulk-sender requirement, but it asks receivers to do nothing with mail that fails, so spoofed mail still gets delivered. Move to quarantine and then reject once your aggregate reports show every legitimate sender passing.

Does it check blocklists?+

No. The major DNS blocklists, Spamhaus included, refuse queries made through public resolvers, so a browser-based check cannot give a reliable answer. Look up your sending IP on each blocklist operators own site.

Is it safe to run against a domain I do not own?+

Yes. Every check is a public DNS query plus a fetch of the domains own published MTA-STS policy. The tool never connects to the mail servers and never sends email.

This tool is provided for informational and educational purposes only. All processing happens in your browser — no data is sent to or stored on our servers. While we strive for accuracy, we make no warranties about the completeness or reliability of results. Results are based on the information you enter and do not constitute a security audit, a formal compliance assessment, or legal advice, and they do not establish that any system or organisation meets a given standard. Coverage of a framework may be partial — check what the tool states it assesses. For anything you intend to rely on, consult a qualified assessor.