Bitelio

What is DKIM? DomainKeys Identified Mail Explained

Understand what DKIM is, how DKIM signatures and keys work, and the steps to configure it—so your domain stays safe from spoofing and your mail reaches the inbox.

Updated July 14, 2026
10 min read

DKIM (DomainKeys Identified Mail) is an authentication standard that gives receiving mail servers a way to confirm two things about a message: that the domain in the sender address truly sent it, and that nothing in the message changed between sending and delivery.

A useful way to picture DKIM is as a tamper-evident seal—much like the wax stamp on an old letter, it proves who the message came from and reveals if anyone opened or altered it en route.

How DKIM Works

Under the hood, DKIM relies on public-key cryptography. The lifecycle of a signed message looks like this:

1. The Sending Server Signs the Email

As your message leaves the server, a DKIM signature is generated and attached to its headers. Only your server can produce this signature, because only it holds the private key.

2. The Signature is Added to Headers

That signature—stored in a header field named "DKIM-Signature"—contains a hash covering selected parts of the message, such as the sender, subject line, and body.

3. The Receiving Server Verifies

On delivery, the recipient's server fetches your domain's public DKIM key from DNS and checks the signature against it. A successful match means the message passes DKIM.

4. Delivery Decision

A passing signature strengthens your reputation and helps the message reach the inbox. A missing or failing one invites suspicion—and often a detour into the spam folder.

Technical Detail

The system is built on asymmetric cryptography: a private/public key pair. The private key never leaves your mail server, while the public key sits openly in DNS so any receiver can perform verification.

What Does a DKIM Record Look Like?

The DNS side of DKIM is a TXT record holding your public key. A sample record:

Example DKIM DNS Record
default._domainkey.yourdomain.com  IN  TXT  "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3QEKyU1fSma0axspqYK5iAj+54lsAg4qRRCnpKK68hawSJfliq9vKD6czJ..."

# Breaking down the components:
# v=DKIM1          -> DKIM version
# k=rsa            -> Key type (RSA encryption)
# p=MIGfMA0...     -> Public key (base64 encoded)

Selector Names

That "default" prefix in default._domainkey is known as a selector. Multiple selectors let you rotate keys safely or keep distinct mail streams (say, transactional versus marketing) on separate keys.

Why DKIM Matters for Email Deliverability

Prevents Email Spoofing

Without access to your private key, a spammer simply cannot produce a valid signature—so forging mail that authenticates as your domain becomes practically infeasible.

Improves Deliverability

Gmail, Outlook, Yahoo, and other major providers treat a valid DKIM signature as a positive trust signal—and reward it with better inbox placement.

Protects Brand Reputation

Every phishing email that impersonates you chips away at customer trust. DKIM closes off domain spoofing, keeping your brand out of attackers' hands.

Enables DMARC

You can't run DMARC—the protocol that layers enforcement policies and reporting on top of authentication—without DKIM (or SPF) in place first.

Gmail & Yahoo Requirements

Since February 2024, any sender pushing 5,000+ messages a day to Gmail or Yahoo must authenticate with DKIM. Below that threshold it isn't mandatory—but it remains a clear best practice for everyone.

What Does a DKIM Signature Look Like?

Every signed message carries the signature in its headers. Here's a real-world example of that header field:

DKIM-Signature Header Example
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=yourdomain.com; s=default;
  h=from:subject:date:message-id:to;
  bh=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN/XKdLCPjaYaY=;
  b=GJwP3Qr8KqKKKNT5HL8j3fjXvLEm9KmZs6YdO2KqEqr...

# Key components:
# v=1                -> DKIM version
# d=yourdomain.com   -> Signing domain
# s=default          -> Selector (matches DNS record)
# h=from:subject...  -> Headers included in signature
# bh=frcCV1...       -> Hash of email body
# b=GJwP3Q...        -> The actual signature

How Bitelio Simplifies DKIM

Doing DKIM by hand takes real effort—key generation, DNS wrangling, server configuration. Bitelio collapses all of it into a few clicks:

1

Automatic Key Generation

The moment you add a domain to your account, Bitelio creates a secure DKIM key pair for it—no manual key management required.

2

Simple DNS Setup

You get the precise DNS entries to publish, ready to copy straight into your DNS provider's dashboard.

3

Automatic Signing

From then on, each message sent through Bitelio carries a valid DKIM signature—with zero extra configuration on your side.

4

Verification & Monitoring

Bitelio confirms your records resolve correctly and keeps watching the authentication status of your outgoing mail over time.

Ready in Minutes

The typical Bitelio user finishes their DKIM setup in about 5-10 minutes, with the dashboard walking them through each step along the way.

DKIM Best Practices

✓ Use 2048-bit Keys

1024-bit keys remain functional, but Gmail and other providers now recommend 2048-bit keys for their stronger cryptographic protection.

✓ Implement SPF and DMARC Too

On its own, DKIM covers only part of the picture. Pair it with SPF and cap the stack with DMARC to get full authentication coverage.

✓ Monitor DKIM Status

Make a habit of confirming your signatures still pass. Authentication reports, available on most sending platforms, make this straightforward.

✓ Rotate Keys Periodically

Swapping in fresh keys every 6-12 months limits your exposure if a key is ever compromised. Schedule rotations deliberately so delivery never skips a beat.

✗ Don't Share Private Keys

Handle the private key with the same care as a root password—never share it, and never store it anywhere insecure.

✗ Don't Use the Same Key Across Domains

Give every domain its own dedicated key pair. Reusing keys weakens security and muddies authentication across domains.

DKIM vs SPF: What's the Difference?

Both protocols authenticate email, yet their mechanisms—and the questions they answer—are quite different:

FeatureDKIMSPF
What it validatesIntegrity of the message contentWhether the sending server is authorized
How it worksCryptographic signature carried in headersDelivering IP compared to a DNS allowlist
Survives forwardingYes (as long as content is untouched)No (the forwarding IP won't match)
DNS record typeTXT at selector._domainkey.*TXT at the root domain
Required for DMARCYes (at least one of SPF/DKIM)Yes (at least one of SPF/DKIM)

Use Both for Maximum Protection

The two protocols cover each other's blind spots: SPF catches what DKIM can't (such as forged sending IPs), while DKIM keeps working through forwarding, where SPF falls apart. Run both, add DMARC on top, and your authentication story is complete.

How to Test Your DKIM Setup

Once DKIM is configured, confirm everything works using one of these approaches:

1. Check the Email Headers

Fire off a test message and inspect its raw headers. You're looking for the DKIM-Signature field plus the Authentication-Results field, which reports the pass/fail outcome:

Example Authentication-Results Header
Authentication-Results: mx.google.com;
  dkim=pass header.i=@yourdomain.com header.s=default header.b=GJwP3Qr8;
  spf=pass (google.com: domain of you@yourdomain.com designates 1.2.3.4 as permitted sender);
  dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=yourdomain.com

2. Use DNS Lookup Tools

Query the DKIM TXT record directly to make sure your public key is live in DNS:

DNS Lookup Command
# Check your DKIM record via DNS
dig TXT default._domainkey.yourdomain.com

# Or using nslookup
nslookup -type=TXT default._domainkey.yourdomain.com

3. Send to Gmail and Check

Deliver a test message to any Gmail inbox, open the three-dot menu, and choose "Show original". The summary panel at the top displays DKIM: PASS or DKIM: FAIL—instant confirmation of your setup.

Common DKIM Issues

When DKIM won't pass, verify that: (1) The selector in DNS matches the one your service signs with, (2) Your DNS provider hasn't truncated the record (very long keys sometimes need splitting), (3) Propagation has finished—allow up to 48 hours, and (4) The private key your service signs with corresponds to the published public key.

Frequently asked questions

What is DKIM?

DKIM, which stands for DomainKeys Identified Mail, is an authentication technique that stamps every outgoing message with a cryptographic signature. Receiving servers use that signature to confirm two things: the mail genuinely originated from your domain, and nothing in it changed along the way. The result is stronger protection against spoofing and better inbox placement.

What is a DKIM key?

A DKIM key is one half of a cryptographic pair used for signing and verification. The private half lives only on your mail server, where it signs each outbound message. The public half gets published in DNS as a TXT record at selector._domainkey.yourdomain.com, letting any receiving server validate your signatures. Guard the private key carefully—it must never be exposed or shared.

How do I set up DKIM?

There are three parts to a DKIM setup: (1) Generate the key pair for your domain—most sending platforms create it for you, (2) Add the public key to DNS as a TXT record at selector._domainkey.yourdomain.com, and (3) Make sure your mail server or provider signs every outgoing message with the matching private key. With Bitelio, all three happen automatically the moment you register your domain.

What is the difference between DKIM and SPF?

They authenticate different things. SPF (Sender Policy Framework) checks the delivering server's IP against a DNS-published allowlist, confirming that server may send for your domain. DKIM instead signs the message cryptographically, proving the content wasn't modified in transit. One verifies the sender's identity, the other verifies message integrity—which is why running both, topped with DMARC, delivers the most robust authentication.

What happens if DKIM fails?

A failed DKIM check makes the receiving server wary of the message. What happens next depends on your DMARC policy: the mail may still be delivered (p=none), land in spam (p=quarantine), or be blocked altogether (p=reject). Repeated failures erode your sender reputation and drag down deliverability over time. Typical root causes are broken DNS records, expired signing keys, or content being rewritten when a message is forwarded.