What Is DKIM? Email Signature Authentication Explained
Technical Guide - Email Authentication

What Is DKIM?

DKIM is the cryptographic signature that proves an email really came from its domain and was not altered on the way. This guide explains how signing and verification work, the selector._domainkey TXT record, and how DKIM works alongside SPF and DMARC.

Definition

DKIM (DomainKeys Identified Mail) is an email authentication method that adds a cryptographic signature to a message. The sender signs it with a private key; the receiver fetches the matching public key from DNS and verifies the signature - proving the message was not altered in transit and genuinely came from the domain.

How DKIM Works

DKIM is a sign-then-verify handshake between the sending and receiving servers:

1. Sign on the way out

The sending server hashes selected headers and the message body, then signs that hash with a private key and adds a DKIM-Signature header to the message.

2. Publish the public key

The matching public key is published in DNS as a TXT record at selector._domainkey.yourdomain.com. The selector lets one domain run several keys for different providers.

3. Verify on receipt

The receiving server reads the selector from the DKIM-Signature header, fetches the public key from DNS, and verifies the signature and body hash. If either was changed, verification fails.

4. Feed DMARC

A DKIM pass that is aligned with the visible From domain satisfies DMARC - even when SPF fails, which is common for forwarded mail and mailing lists.

The selector._domainkey TXT Record

The DKIM public key lives in a DNS TXT record under the selector named in the message's signature:

# DKIM-Signature header names the selector (s=) and domain (d=)
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=google; ...
# dig TXT google._domainkey.example.com
"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ..."
# What each tag means
v=DKIM1 <- record version
k=rsa <- key type
p= <- the base64 public key

A missing or malformed public key means every signature fails verification, so DKIM effectively does nothing. Rotate keys periodically and keep the record complete. See the full DKIM setup guide for provider-specific steps.

DKIM, SPF and DMARC Together

DKIM is one of three records that work as a set. Each answers a different question:

SPF
Which servers are allowed to send for this domain? Checks the sending IP against a DNS list. Breaks on forwarding. Learn more
DKIM
Was this specific message altered, and did the domain really sign it? A cryptographic signature that survives forwarding.
DMARC
What should the receiver do if SPF and DKIM both fail, and where are the reports sent? The enforcement policy on top. Learn more

Why DKIM Matters for Verification

When BounceZero checks an address, the sending domain's authentication posture is one of the signals it reads. A domain with valid DKIM, SPF and an enforcing DMARC policy is a far more trustworthy sender than one with none of them. It is one input among many, not a verdict on its own.

Check any domain's DKIM record in seconds with the free BounceZero DKIM Checker.

FAQ

What is DKIM?

DKIM (DomainKeys Identified Mail) is an email authentication method that attaches a cryptographic signature to outgoing messages. The receiving server fetches the sender's public key from DNS and verifies the signature, confirming the message was not tampered with in transit and truly came from the domain that signed it.

How is DKIM different from SPF?

SPF authorises which servers may send for a domain by checking the sending IP against a DNS list. DKIM instead cryptographically signs the message itself, so it survives forwarding (which usually breaks SPF). Most domains publish both, and DMARC ties them together with alignment.

What is a DKIM selector?

A selector is a label in the DKIM-Signature header (the s= tag) that tells the receiver which public key to look up. The key lives in DNS at selector._domainkey.yourdomain.com, so one domain can publish several keys (for different providers) under different selectors.

How do I check a domain's DKIM record?

Read the selector from a message's DKIM-Signature header, then query the TXT record: `dig TXT selector._domainkey.example.com`, or use a free DKIM checker. BounceZero's DKIM Checker looks up the public key and confirms the record is valid and complete.

Verify Addresses on Domains You Can Trust

DNS intelligence, SMTP probes and ML scoring in one pipeline. 100 free verifications.

Start Free

Deliverability & sender reputation

Provider behaviour, DNS setup, warm-up, and inbox placement

Ready for bulk verification?

Verify Thousands - Same Up to 99.8% accuracy in internal testing on SMTP-verifiable addresses

Upload a CSV, get clean results in minutes. $3 per 1,000 emails. Credits never expire. No subscription.

Get 100 Free Credits View pricing

No credit card required  -  100 free verifications every month  -  Full 5-stage pipeline

Follow BounceZero