Skip to main content
📧
DNS & email

DKIM signature (DomainKeys Identified Mail)

A digital seal attached to every email - proof that the content was not altered in transit

📖 Detailed description

DKIM (DomainKeys Identified Mail) is a digital signature that your mail server attaches to every outgoing message. If you are asking what a DKIM record is, think of a wax seal on an old letter - if the seal is intact, the recipient knows the letter is genuine and nobody opened or swapped it along the way.

The mechanism relies on a key pair: the private key stays on your sending server and signs the mail, while you publish the public key in DNS. The recipient server fetches the public key, verifies the DKIM signature in the message header, and confirms two things at once: that the mail truly comes from your domain and that its content was not modified in transit.

In practice, a DKIM record is a TXT entry (sometimes a CNAME) published under a specific name, selector._domainkey.yourdomain.com. The selector is a label that lets you hold several keys at once (for example, a separate one for Google Workspace and another for your newsletter system). DKIM works best paired with SPF and supervised by DMARC - only together do they form complete email protection.

You can verify whether your DKIM public key is correctly published in DNS with our free DNS Lookup tool at /dns (by providing the selector name).

Most common problems

No DKIM signature

The recipient cannot confirm the mail is authentic and intact - a higher chance of landing in spam

Wrong selector in DNS

The public key is published under the wrong name, so verification fails

A short key (512-bit)

Weak and easy to crack - 2048-bit is the modern standard

A mismatch after switching providers

Changing your mail system without updating the key in DNS breaks signatures

How to fix it?

Generate a key pair at your mail provider and publish the public key as a DNS record

Use a key at least 1024-bit long, ideally 2048-bit

Publish the record under the full name selector._domainkey.yourdomain.com

For multiple senders use separate selectors - easier to manage and rotate

After changing mail providers, update the DKIM key in DNS

Examples

Good example

google._domainkey TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSq...(public key)"

Bad example

no _domainkey record (mail goes out with no DKIM signature)

Check this indicator for your website

Get a detailed analysis and personalized tips on how to improve this element on your website.

Start free analysis