SPF, DKIM and DMARC checker

Enter a domain and this free checker reads its SPF record, its DMARC record and a DKIM key from public DNS, then tells you in plain English what each one allows, what is missing and what would break delivery. No sign-up, no email address, nothing to install.

Check a domain

A full email address works too; the checker uses the part after the @.

Left empty, the checker tries google (Google Workspace) and selector1 and selector2 (Microsoft 365).

Your browser sends the lookups directly to Cloudflare’s public DNS resolver (cloudflare-dns.com). The domain you enter goes to Cloudflare, not to EmailFlow OS, and nothing is stored.

What does this checker look up?

Three DNS names, each as a TXT query. SPF lives on the domain itself, for example example.com. DMARC lives one level below, at _dmarc.example.com. A DKIM key lives at selector._domainkey.example.com, where the selector is a name chosen by the service that signs your mail. The answers come from Cloudflare’s public resolver over DNS over HTTPS, so you see what a resolver on the open internet returns right now, independent of what your own network still has cached.

What does an SPF check tell you?

SPF (RFC 7208) lists the servers that may send mail for a domain. The receiver compares the address of the connecting server with that list, using the domain of the envelope sender, not the From line your reader sees. The checker reads three things from the record:

  • How many records there are. A domain may publish only one SPF record (RFC 7208, section 3.2). With two, receivers return a permanent error and SPF fails for every message, a common result after adding a second sending service as a second record instead of an include.
  • How the record ends. -all asks receivers to fail mail from unlisted servers, ~all marks it as a soft fail, ?all is neutral and +all lets every server on the internet pass.
  • How many DNS lookups it costs. Evaluating a record may trigger at most 10 lookups through include, a, mx, ptr, exists and redirect (section 4.6.4). The checker counts the ones at the top level; every include can add more inside it.

How do you find your DKIM selector?

DKIM (RFC 6376) signs each message with a private key; the receiver fetches the public key from selector._domainkey and verifies the signature. DNS cannot list which selectors exist, so a checker has to know the name. Open a message you sent, view its source and look for s= in the DKIM-Signature header: that value is the selector, and d= is the signing domain. Google Workspace uses google unless you chose another prefix, and Microsoft 365 publishes selector1 and selector2 for custom domains. Other services, Brevo among them, show the exact record in their domain settings; copy it from there rather than from an old tutorial. A key with an empty p= value has been revoked (RFC 6376, section 3.6.1), and every signature that points to it fails.

What does the DMARC policy decide?

DMARC (RFC 7489) connects SPF and DKIM to the domain in the visible From line. A message passes when SPF or DKIM passes for a domain that matches the From domain, which is called alignment. The record then tells receivers what to do with mail that fails: p=none only asks for reports, p=quarantine asks them to treat it as suspicious, usually the spam folder, and p=reject asks them to refuse it. The rua tag names the address for daily aggregate reports, which show every server that sent mail as your domain. If a domain publishes more than one DMARC record, receivers ignore DMARC for it altogether.

What do Gmail and Yahoo require since 2024?

Since February 1, 2024, Google requires every sender to Gmail accounts to set up SPF or DKIM. Senders of more than 5,000 messages a day to Gmail accounts need SPF and DKIM, a DMARC record whose policy may be none, and a From domain aligned with the SPF or the DKIM domain (Google, Email sender guidelines, read on 24 October 2026). Yahoo began enforcing the same split in February 2024: SPF or DKIM for all senders, and for bulk senders SPF and DKIM plus a valid DMARC policy of at least p=none that passes (Yahoo, Sender Best Practices, read on 24 October 2026). Both pages add rules on unsubscribing and on spam rates, which a DNS check cannot see.

What should you fix first?

  • A second SPF record or a missing one. Merge everything into one record that names each service that sends for you.
  • A missing DKIM key for a service that sends for you. Each service signs with its own selector, so Google Workspace and Brevo keys sit side by side without a conflict.
  • A missing DMARC record. Start with p=none and a rua address, read the reports until every legitimate sender passes, then move to quarantine and later reject.

The setup order with examples is in DKIM, DMARC and SPF for cold email senders. If your DNS is at GoDaddy, the GoDaddy DKIM setup for Brevo senders covers the Host field that doubles your domain. On Google Workspace, read how to add the Google Workspace DKIM record next to Brevo’s.

Why these records matter for video outreach with EmailFlow OS

EmailFlow OS sends every campaign through your own Brevo account and under your own domain, never from a shared platform address. You record one video, EmailFlow OS makes a personalized version of it for each recipient on your list and writes an email for each of them. Because the mail leaves under your domain, the SPF, DKIM and DMARC records this page checks are the ones receivers apply to your campaigns. The EmailFlow OS features page describes the sending setup step by step.