We verify billions of email addresses, and the health of a domain’s authentication is one of the first things we read on any sender. DKIM sits at the center of that picture. It is the mechanism that lets a receiving server trust that a message genuinely came from the domain it claims, and that not a single byte was changed along the way. Here is what DKIM actually is, how it works, how it fits alongside SPF and DMARC, and why it matters for whether your mail reaches the inbox at all.
How DKIM works
DKIM is built on public-key cryptography, the same idea behind a website’s padlock. Your domain holds a private key that never leaves your sending infrastructure, and it publishes the matching public key openly in DNS. The private key signs; the public key verifies. Because only the holder of the private key can produce a signature the public key will accept, a valid signature is proof of origin.
When your server sends a message, it computes a hash of the body and a chosen set of headers, encrypts that hash with the private key, and stamps the result into a DKIM-Signature header on the email. That header also names the signing domain and a selector, which tells receivers exactly where to look for the key.
The DNS record and the selector
The public key lives in a DNS TXT record at a selector subdomain, for example selector1._domainkey.yourdomain.com. The record carries the version (v=DKIM1), the key type (usually k=rsa), and the public key itself in a long p= value. The selector matters because it lets one domain run several keys at once, so your marketing platform, your CRM, and your transactional provider can each sign with their own key without colliding.
The verification handshake
On the receiving side, the server reads the DKIM-Signature header, extracts the domain and selector, and fetches the public key from your DNS. It recomputes the hash over the same headers and body, decrypts the signed hash with the public key, and compares the two. If they match, the message passes DKIM: it was authorized by the domain and arrived intact. If they differ, the signature fails, which is a strong signal the mail was forged or tampered with in transit.
DKIM vs SPF vs DMARC: the three pillars
DKIM is one of three standards that together make email trustworthy, and it is easy to confuse them. They solve different problems and are strongest together.
- SPF answers “is this server allowed to send for the domain?” It is a DNS list of authorized sending IPs. It validates the path, not the message.
- DKIManswers “was this message authorized by the domain and left unaltered?” It signs the content itself, so it survives forwarding in ways SPF often does not.
- DMARC answers “what should a receiver do when SPF or DKIM fails, and where do I send the reports?” It is the policy and reporting layer built on top of the other two.
DMARC also adds alignment: it is not enough for DKIM to pass, the signing domain has to match the domain in the visible From address. That alignment is what stops a spoofer from signing with their own unrelated domain and claiming a pass. You want all three configured, and you can confirm them in one place with the DMARC, DKIM, and SPF check.
Why DKIM matters for deliverability and spoofing
DKIM does two jobs that both bear directly on whether your mail lands. First, anti-spoofing: because a valid signature cannot be forged without your private key, DKIM makes it far harder for anyone to impersonate your domain in a phishing campaign. Combined with a DMARC reject policy, it lets receivers throw away mail that pretends to be you.
Second, reputation and inbox placement. Mailbox providers read a valid DKIM signature as a trust signal and weigh authenticated mail more favorably, so it is more likely to clear the spam filter. This stopped being optional in 2024: Gmail and Yahoo now require DKIM for bulk senders, and mail that arrives unsigned or with a broken signature can be throttled or rejected at the door. A missing selector or an expired key quietly tanks deliverability long before anyone notices.
How DKIM relates to verifying a domain can send and receive
This is where teams most often blur two separate questions. DKIM proves a domain is authorized to send and that its outbound messages are intact. It says nothing about whether a given mailbox on that domain can actually receive the message you are about to send. A domain can have flawless DKIM and still be full of dead addresses, full mailboxes, and role addresses that route nowhere useful.
Confirming the receiving side is exactly what our engine does. We read a domain end to end: its SMTP behavior, its mail exchangers, and whether each specific address resolves to a live, reachable mailbox. Authentication and verification are two halves of the same trust question, and you need both. A domain that authenticates but cannot receive wastes your sends; a deliverable address on a domain that fails authentication gets filtered before anyone reads it.
The practical workflow is to confirm authentication first, then verify the list. Use the authentication checker to confirm DKIM, SPF, and DMARC are published and aligned, run an MX lookupto see which servers actually handle the domain’s mail, and then run every address through email verification so you are sending authenticated mail to addresses that can genuinely receive it. For verifying at scale, the volume tiers are on the pricing page.