A DKIM check confirms that a domain publishes a valid public key at its selector record, so receiving mail servers can verify the cryptographic signature attached to outgoing email.
What DKIM actually signs
DomainKeys Identified Mail (RFC 6376) lets a sending domain attach a digital signature to a message header. The signature is generated with a private key held by the sending mail server and covers a defined set of headers plus the message body. The receiving server looks up the matching public key in DNS and recomputes the signature; if the two match, the message was not altered in transit and really originated from a server that holds the private key.
DKIM says nothing about the envelope sender or the "From" address a recipient sees - that alignment work belongs to DMARC. DKIM only proves the signed content is intact and was signed by whoever controls the selector.
- The signature lives in a DKIM-Signature header added by the sending server
- Verification pulls the public key from a TXT record, not from the message itself
- A domain can run several selectors at once - one per sending provider is common
The selector record, piece by piece
The public key sits at `<selector>._domainkey.<domain>` as a TXT record. The selector is an arbitrary label chosen by whoever configures the signing - your email provider assigns it, and it is not guessable from the domain name alone. A typical record looks like this:
- `v=DKIM1` - protocol version, always present
- `k=rsa` - key algorithm (rsa is standard; ed25519 is valid but rarer)
- `p=` - the base64-encoded public key itself
- `p=` with an empty value means the key was deliberately revoked
| Tag | Example value | Meaning |
|---|---|---|
| v | DKIM1 | Record version |
| k | rsa | Public key algorithm |
| p | MIGfMA0GCSqGSIb3DQEB... | Public key, base64 |
| t | y | Testing mode flag (optional) |
Why selectors have to be guessed
Unlike an MX or SPF record, a DKIM key has no fixed hostname - it only exists under the selector chosen at setup time, so a checker either needs the selector or has to try common ones. Google Workspace typically uses `google`, Microsoft 365 rotates through `selector1`/`selector2`, and transactional senders like Sendgrid, Mailgun or Amazon SES each default to their own name. If you know the exact selector your provider assigned, entering it directly skips the guessing and checks only that record.
Key rotation and revocation
RFC 6376 treats the selector as the unit of rotation: to rotate a key, a sender publishes a new selector with the new public key, switches signing over to it, and only removes the old selector once no queued mail still references it. Publishing an empty `p=` tag on the old selector revokes it immediately without deleting the record - useful when a private key may have leaked, since a deleted record can still be cached by resolvers for the TTL period while an empty `p=` is unambiguous the moment it is fetched.
A dangling selector - one still published in DNS with a valid key long after the sending system that used it was decommissioned - is a standing exposure. Anyone who obtains that old private key can still produce signatures that verify.
Reading the DKIM check results
Each selector that resolves gets its own line. A passing selector reports a valid public key found at its `_domainkey` subdomain, with the record value shown so you can confirm the key tag is not empty. A selector with an empty `p=` value is flagged as revoked, distinct from a selector that simply does not exist. When none of the checked selectors resolve, the results list which ones were tried so you know whether to add your provider's selector and check again. A separate summary line reports how many selectors were actually found across the sweep, and a legacy ADSP record - a pre-DMARC mechanism - is surfaced separately if still published, since it signals leftover configuration rather than active protection.
FAQ
Why does my domain need more than one DKIM selector?
Every system that sends mail on your behalf - your main mailbox provider, a marketing platform, a support desk, a billing tool - signs with its own key and selector. Each one needs its own DNS TXT record. Checking only the "main" selector will miss the others.
Is a missing DKIM record actually a problem?
It depends what else is configured. DKIM is not mandatory for basic email delivery, but without it, DMARC alignment can only rely on SPF, and a forwarded or relayed message that breaks SPF has no fallback. Most reputable senders publish DKIM for exactly this reason.
Can I use the same DKIM key for two different domains?
Technically the DNS lookup is per-domain, so nothing stops you from publishing identical public keys, but there is no benefit to it and it complicates rotation - if the shared key is compromised, every domain using it needs a new record at the same time.
What does it mean if my selector record exists but has no p= value?
An empty `p=` tag is a deliberate revocation, not a broken record. RFC 6376 defines this as the way to invalidate a selector without removing the DNS entry outright, typically used when a key is retired or suspected compromised.
Does DKIM alone stop spoofing?
No. DKIM verifies the signed content came from a holder of the private key, but a message can pass DKIM using an entirely different domain's valid signature while still showing a spoofed "From" address to the recipient. DMARC is what ties the signing domain back to what the recipient sees.
Why did the check take a while when I did not enter a selector?
Without a known selector, the check works through a list of the most common provider defaults one at a time. Supplying your actual selector - visible in your email provider's DNS setup instructions - skips that sweep entirely.
Related tools
- DKIM and SPF results only matter for anti-spoofing once a DMARC policy uses them for alignment
- SPF is the other authentication mechanism DMARC can align against alongside DKIM
- Confirm the mail servers accepting inbound mail before troubleshooting outbound signing
- Run a broader DNS health pass if DKIM is only one of several records you need to audit