What is a DKIM record?
DKIM puts a digital signature on every email your business sends. The matching public key sits in your domain's DNS, so the receiving server can check the signature. If it checks out, the message really was signed by your domain and was not altered on the way.
Last updated
The short answer
DKIM (DomainKeys Identified Mail) signs each outgoing email with a private key held by your mail provider. A DKIM record in your DNS publishes the matching public key under a name like selector._domainkey.yourdomain.com.au. Receivers use it to verify the signature. Google Workspace needs the key generated in the admin console and added as a TXT record. Microsoft 365 needs two CNAME records (selector1 and selector2) and signing switched on in the Defender portal. It works alongside SPF and DMARC.
Why DKIM matters
SPF checks which server sent a message. DKIM checks the message itself. The signature covers the sender and selected parts of the message, so it usually still verifies after forwarding, which SPF does not. DMARC accepts a message if either SPF or DKIM passes and lines up with the From domain, so a working DKIM signature is the safer of the two to rely on. The standard is RFC 6376.
The parts of DKIM
Private key (signing)
Held by your mail provider. It adds a signature header to each outgoing message. You never see it or publish it.
Public key (the DNS record)
Published in your DNS so anyone can verify the signature. Google uses a TXT record. Microsoft 365 uses CNAME records that point to keys Microsoft hosts.
Selector
A label that lets a domain have more than one key. Microsoft 365 uses selector1 and selector2. Google defaults to google. Each service that sends as you has its own selector.
Alignment
For DMARC, the domain that signed the message (the d= value) must match your From domain. A service that signs with its own domain passes DKIM but does not help DMARC.
Who this is for
- Microsoft 365 or Google Workspace customers who were told DKIM is "not enabled" or "not signing".
- Businesses whose email passes SPF but still lands in junk or fails DMARC.
- Anyone who uses Xero, a CRM, a booking system or a newsletter tool that sends as their domain.
- Owners who have been given a DKIM record by a provider and are not sure where it goes.
How to check your own DKIM
- Send yourself a test. Send an email from your business address to a personal Gmail or Outlook.com address. Open the full headers (Show original in Gmail).
- Look for dkim=pass. In the Authentication-Results line you want
dkim=pass header.d=yourdomain.com.au. If you seedkim=none, the message was not signed. If the header.d domain is your provider's domain and not yours, it is signed but not aligned. - Look the record up. For Microsoft 365 run
nslookup -type=CNAME selector1._domainkey.yourdomain.com.au. For Google Workspace runnslookup -type=TXT google._domainkey.yourdomain.com.au. You should get an answer, not "non-existent domain". - Check every sender. Repeat the test for each service that sends as you. Each one needs its own DKIM set up, using its own selector.
How WaTo can help
- We switch DKIM on properly for Microsoft 365, Google Workspace and cPanel email, and check that every other sender signs as your domain.
- We test with real messages and read the headers, so you know the signature passes and lines up, not just that a record exists.
- If your records are right and mail to Outlook.com still bounces, see the 550 bounce guide.
Turning DKIM on, by platform
Microsoft 365. DKIM for a custom domain is not automatic. In the Microsoft Defender portal, open the DKIM settings for your domain. Defender shows two CNAME records, selector1._domainkey and selector2._domainkey, with the exact values to copy. Add both at your DNS host, wait for DNS to update, then switch Sign messages for this domain with DKIM signatures on. Until you do, Microsoft signs with its default onmicrosoft.com domain, which does not line up with your From address. Microsoft has changed the format of the record values over time, so copy what Defender shows rather than typing them from memory.
Google Workspace. In the Google Admin console go to Apps, Google Workspace, Gmail, Authenticate email. Choose your domain and generate a new record (2048-bit if your DNS host allows it). Add the TXT record it shows at your DNS host, then return and click Start authentication.
cPanel hosting. Open Email Deliverability in cPanel. If DKIM is not valid for the domain, use Manage and the repair or install option. If your DNS is hosted elsewhere, copy the suggested TXT record there.
Common DKIM mistakes
- Added the records but never switched signing on. Microsoft 365 and Google both need a separate step after the DNS record exists.
- DKIM not aligned. A third-party sender signs with its own domain. The signature is valid, but DMARC ignores it because the domain does not match your From address. Set up the service's custom-domain DKIM option.
- Pasting the record wrongly. Some DNS hosts add your domain to the end of the name automatically, producing a doubled name such as
selector1._domainkey.yourdomain.com.au.yourdomain.com.au. Others need a trailing dot. Check what actually resolves. - Long keys split badly. A 2048-bit key is longer than one DNS text string allows, so it must be split into quoted chunks. Most hosts do it for you. A broken split gives dkim=permerror.
- Forwarding and mailing lists. A list that changes the subject or adds a footer can break the signature. A forwarder that does not alter the message usually keeps it intact.
- Old keys never rotated. Keys should be swapped from time to time. Microsoft's two selectors exist so this can happen without a gap.
DKIM record questions
What is a DKIM record in simple terms?
It is the public half of a signature check. Your mail provider signs each message privately, and the DKIM record in your DNS lets anyone verify that signature.
What are selector1 and selector2 in Microsoft 365?
They are two DKIM key names. Microsoft 365 publishes two so it can rotate keys without breaking signing. You add both as CNAME records at your DNS host.
Is DKIM turned on automatically in Microsoft 365?
For your onmicrosoft.com address, yes. For your own domain, no. You add the CNAME records and enable signing in the Defender portal.
Do I need DKIM if I have SPF?
Yes. SPF breaks when mail is forwarded and does not check the visible From address. DKIM usually survives forwarding and gives DMARC something to align with.
Can I have more than one DKIM record?
Yes. Unlike SPF, a domain can have many DKIM records, one per selector. Each sending service normally has its own.
How do I know DKIM is working?
Send a test to an outside address and check the headers for dkim=pass with header.d set to your own domain.
How WaTo can help with this
- Email deliverability & domain authentication
- Google Workspace help and support
- Microsoft 365 health check
Guides on this topic
- What is an SPF record?
- What is a DMARC record?
- Emails to Outlook.com or Hotmail bouncing with a 550 error
- SPF, DKIM and DMARC in plain English
- Microsoft 365 security baseline for small businesses
Sources & references
WaTo Consulting. Last reviewed 2026-11-09. Review when Microsoft or Google change DKIM setup steps.
Book a call
DKIM not signing, or not sure which sender is missing? Book a call and have your domain name ready.
Mon to Fri, 8:30am to 5pm




