LaunchRanked

SPF, DKIM and DMARC checker

Enter the domain you send email from. We read its MX, SPF, DKIM and DMARC records and tell you, in plain words, what's missing and how to fix it.

The s= value in a DKIM-Signature header.

Why this matters for a launch

Launch day is when you email the most people from a domain that may be a few weeks old. If SPF, DKIM or DMARC are missing, mailbox providers have no way to tell your mail from someone spoofing you, and your announcement lands in spam. Each record takes minutes to add at your DNS provider.

The three records

  • SPF is a TXT record on your domain listing the servers allowed to send as you, e.g. v=spf1 include:_spf.google.com ~all. One record only, at most 10 DNS lookups, ending in ~all or -all.
  • DKIM is a public key at selector._domainkey.yourdomain. Your email provider signs each message with the matching private key. Use 2048-bit keys where your provider allows it.
  • DMARC is a TXT record at _dmarc.yourdomain that tells receivers what to do when a message fails both SPF and DKIM alignment (p=none, quarantine or reject) and where to send reports (rua=).

How we check

We look up MX, SPF, DMARC and eight common DKIM selectors through Cloudflare’s DNS-over-HTTPS resolver, then expand every SPF include to count lookups the way receivers do. If a subdomain has no DMARC record, we check the parent domain’s, which receivers fall back to. Each finding comes with a verdict and the fix.

What we can’t check from DNS alone: whether your messages actually pass. For that, send a test email to a Gmail account, open it, choose “Show original” and look for SPF, DKIM and DMARC: PASS. To see any record raw, use the DNS lookup.

Questions

What does Gmail require?

Google's sender guidelines ask every sender to set up SPF or DKIM. Senders of more than 5,000 messages a day to Gmail accounts need SPF, DKIM and DMARC (a policy of p=none is enough), and the From: domain must align with the SPF or DKIM domain.

Why can't you find my DKIM key?

DKIM keys live at <selector>._domainkey.<domain>, and the selector can be any name your email provider picked. We try common ones (google, selector1, selector2, k1, s1, default, mail, dkim). If yours is different, open an email you sent, find the DKIM-Signature header, copy its s= value and enter it as the selector.

Should I go straight to p=reject?

Not straight away. Start with p=none and a rua= address, read the aggregate reports for a couple of weeks, make sure every service that sends as you (your app, newsletter tool, CRM, help desk) passes SPF or DKIM, then move to quarantine and finally reject.

What is the SPF 10-lookup limit?

Receivers stop evaluating SPF after 10 DNS lookups (each include, a, mx, ptr, exists and redirect counts, including those inside includes). Past 10, SPF returns a permanent error and fails. We expand every include and count them for you.

Free launch

Launching something? Get a page that ranks.

Launch free on LaunchRanked: a permanent, SEO-ready product page, a weekly leaderboard slot and a followed link after human review. No badge required.

Related free tools

See all free tools