Defaults.Exposed

Defaults.ExposedFixes › DKIM

How to fix DKIM

DKIM is the invisible tamper-proof seal on every email your business sends. It lets the receiving mail provider confirm the email genuinely came from you and arrived unchanged. Without it, your mail is easier to fake, easier to alter, and far more likely to land in spam.

Bottom line for your business: Without DKIM, the emails you send can be tampered with in transit, are easier for criminals to impersonate, and are more likely to be filtered into spam or rejected outright — quietly costing you deals, payments, and trust you never know you lost.

What this can cost you

Why it matters. Email was never built to prove who sent it, and faking the sender is trivially easy. DKIM adds a cryptographic signature that the receiving provider checks automatically — confirming the message is genuinely from your domain and hasn't been altered on the way. It's one of the three things every modern mail provider looks for, it directly affects whether your email is trusted or junked, and the fix is free.

What this is, in plain words

Every email your business sends travels through several hands before it reaches the inbox. By itself, an email carries no proof of who really sent it or whether anyone changed it along the way — the “from” line is just text anyone can type.

DKIM fixes that. It puts an invisible, tamper-proof seal on each message your business sends. When the email arrives, the receiving mail provider checks the seal against a key you publish on your domain. If it matches, the provider knows two things for certain: the email genuinely came from your domain, and not a single character was changed in transit. If it doesn’t match — because the message was faked or altered — the seal fails, and the provider treats the mail with suspicion.

You don’t manage any of this by hand. Once it’s switched on, the signing and checking happen automatically on every email, forever. The whole point of DKIM is to make your real mail provably real — so it gets trusted, and so fakes stand out.

What this can cost you

This isn’t abstract. Here’s what a missing or weak DKIM seal looks like in practice for a small or medium business.

What it actually is

DKIM stands for DomainKeys Identified Mail. Here’s how the seal works, without the jargon:

A few terms you may hear from your IT person:

What “good” looks like: a valid DKIM key is published at a selector for your domain, your outgoing mail is being signed with it, and the key is 2048-bit or stronger. That’s the full pass.

A note on how this is scored. This check looks for a genuine, well-formed DKIM key published at the selectors mail providers commonly use. A published valid key is the positive signal — a third-party scanner can’t replay your live signatures, so the presence of a correct key is what’s measured. No key found fails the check (it’s a high-severity gap). A valid key that’s weak (1024-bit RSA) earns roughly half marks — it’s working but should be upgraded. A strong key (2048-bit RSA or better, or Ed25519) earns full marks. This is one of the email security checks that counts toward your grade, worth a meaningful share of it.

How to fix it (free, ~15 minutes)

This part is for whoever manages your email or domain — if that’s not you, hand them this section. The fix is free. We only charge to monitor that your protections stay healthy over time, not to set them up.

The general shape is the same everywhere: switch on DKIM in your email provider, take the key it generates, publish it in your DNS, then confirm it’s live. The exact steps depend on who runs your email — here are the common ones.

Google Workspace (Gmail)

  1. Admin Console → Apps → Google Workspace → Gmail → Authenticate email.
  2. Select your domain and click Generate new record (choose the 2048-bit key length).
  3. Google gives you a DNS record. Add it at your DNS host as a TXT record, host google._domainkey.yourdomain, with the value Google provided.
  4. Wait for it to propagate (minutes to a few hours), then return to the same screen and click Start authentication.

Microsoft 365 (Outlook / Exchange Online)

  1. Go to the Microsoft Defender portal → Email & collaboration → Policies & rules → Threat policies → Email authentication settings → DKIM.
  2. Select your domain. Microsoft shows you two CNAME records to publish (selector1 and selector2).
  3. Add both CNAME records at your DNS host exactly as shown.
  4. Back in the DKIM screen, toggle DKIM signing to Enabled for the domain.

Zoho Mail

  1. Control Panel → Email Authentication → DKIM.
  2. Generate a key (use a selector like zoho), then add the provided TXT record at zoho._domainkey.yourdomain in your DNS.
  3. Verify in the Zoho panel once the record is live.

Other providers / your own mail server The pattern is identical: the provider (or your mail software) generates a key pair, signs your outgoing mail with the private key, and gives you a public record to publish. It typically looks like:

Host:  selector1._domainkey.yourdomain
Type:  TXT (or CNAME, depending on provider)
Value: (the long key string your provider gives you)

Where DNS records are added: in your domain’s DNS settings — usually at your domain registrar or DNS host (e.g. Cloudflare, GoDaddy, your hosting control panel). If your email provider supplies a CNAME, it’s pointing to a record they host, so you never see the raw key — that’s normal and fine.

Confirm it works: send yourself a test email to a Gmail account, open it, choose Show original, and check that DKIM: PASS appears. Then re-check your domain here to confirm the key came through as 2048-bit or stronger, not a weak 1024-bit one.

Common mistakes

A note on DKIM, SPF and DMARC

DKIM rarely works alone. It’s one of three settings that together make your email trustworthy:

If you’re fixing DKIM, it’s worth checking SPF and DMARC at the same time. Together they’re what stops your business from being impersonated and what keeps your real email landing where it should.

Set it up on your host

Step-by-step for popular providers:

FAQ

I'm not technical — is this something I can sort out myself?

You don't need to understand the cryptography. In most cases it's a setting you switch on inside your email provider (Google Workspace, Microsoft 365, Zoho, etc.), which then gives you one or two records to add to your domain. Hand the 'How to fix it' section to whoever manages your email or domain — it's a quick, free job, usually around 15 minutes.

Will turning on DKIM risk breaking my email?

Adding DKIM correctly is safe — it doesn't change how your mail is sent, it just adds a signature recipients can verify. The one thing to get right is to publish the key your provider generates exactly as given, and to enable signing only after the record is live in DNS. Done in that order, there's no disruption to you or your customers.

We already use a big provider like Google or Microsoft — aren't we covered automatically?

Not always. Big providers make DKIM easy, but for many domains it still has to be switched on and a record added to your DNS — it isn't always on by default. That's exactly why a domain on a major provider can still fail this check. It takes a few minutes to confirm and enable.

What's the difference between DKIM, SPF and DMARC? Do I need all three?

Think of them as a set. SPF lists which servers are allowed to send mail for you. DKIM is the tamper-proof seal that proves a message is genuinely yours and unchanged. DMARC is the instruction that tells providers to block anything failing those checks. They work best together — DMARC in particular leans on DKIM to do its job — so yes, you want all three.

My IT person says DKIM is 'on' — how do I know it's actually working and strong enough?

Two things matter: that a valid signature is being published at a selector for your domain, and that the key behind it is strong (2048-bit RSA or better). An older 1024-bit key still works but is considered weak by modern standards and is treated as a partial pass here. Re-running a check on your domain confirms both at once.

What is a 'selector' and why does it matter?

A selector is just a label that points to one specific DKIM key in your DNS — it lets you run more than one key at a time (for example, one for your mailbox and one for your newsletter tool) and rotate keys safely. You don't manage it by hand; your provider creates the selector and tells you the record to publish. It only matters here because the check looks for a valid key at the selectors mail providers commonly use.