DKIM (DomainKeys Identified Mail) is a cryptographic signature that proves your email actually came from your domain. Without it, Gmail, Outlook, and Yahoo will almost certainly send your email to spam.
This guide shows you exactly how to set up DKIM for every major email provider, with screenshots and troubleshooting tips.
What is DKIM?
When you send an email, your server attaches a cryptographic signature to the message header. The receiving server then looks up your public key (stored as a DNS TXT record) and verifies the signature matches. If it does, the email passes DKIM.
Stays on your email server
Published in DNS TXT record
Receiving server checks match
Setup Instructions by Provider
Google Workspace
- 1Go to admin.google.com → Apps → Google Workspace → Gmail → Authenticate Email
- 2Select your domain and click Generate New Record
- 3Choose a DKIM key length (2048-bit recommended)
- 4Copy the TXT record value that appears
- 5In your DNS provider, add a TXT record:Record Name
google._domainkey
Record Valuev=DKIM1; k=rsa; p=MIGfMA0GCS...
- 6Wait 24–48 hours for DNS propagation, then click Start Authentication in Google Admin
Microsoft 365
- 1Go to admin.microsoft.com → Settings → Domains → Select your domain
- 2Click DNS records and find the DKIM CNAME records
- 3Add both CNAME records to your DNS:CNAME 1
selector1._domainkey → selector1-yourdomain-com._domainkey.yourdomain.onmicrosoft.com
CNAME 2selector2._domainkey → selector2-yourdomain-com._domainkey.yourdomain.onmicrosoft.com
- 4Go to Microsoft 365 Defender → Email & Collaboration → Policies → DKIM
- 5Select your domain and toggle Sign messages with DKIM to On
Zoho Mail
- 1Go to mailadmin.zoho.com → Domains
- 2Click your domain → Email Configuration → DKIM
- 3Click Add Selector and generate a key
- 4Copy the TXT record and add it to your DNS
- 5Click Verify in Zoho once DNS propagates
Common DKIM Problems
Your email provider is not signing emails. Go back to your provider's admin console and enable DKIM signing.
The DNS record doesn't match. Check for typos in the TXT record or try regenerating the key.
The receiving server couldn't reach your DNS. This usually resolves itself. If persistent, check your DNS provider's status.
Verify Your Setup
After setting up DKIM, wait 24–48 hours for DNS propagation, then verify:
- Run a test at CheckEmailDelivery.com — we check DKIM automatically
- Send a test email to Gmail and check the headers (click the three dots → "Show original") — look for
dkim=pass - Use a DNS lookup tool to verify your TXT record exists at
[selector]._domainkey.yourdomain.com