Set Up DKIM for Office 365: Boost Email Deliverability

Learn how to set up DKIM for Office 365 with our expert guide. Improve deliverability, stop spam, and troubleshoot DNS & verification issues.

Set Up DKIM for Office 365: Boost Email Deliverability
Do not index
Do not index
A campaign goes live on Monday morning. The copy is solid, the list is clean, and the offer has worked before. By afternoon, replies are thin, Gmail placements look weak, and Outlook starts treating the same domain like a stranger. Teams often blame subject lines or timing first. In Office 365 environments, the underlying issue is often much less visible: mail is leaving without a trustworthy DKIM signature, or DKIM was enabled once and then stopped working without warning.
That's why setting up DKIM for Office 365 isn't just a setup task. It's part of sender reputation management. If authentication breaks, inbox placement suffers, spam filtering gets harsher, and every campaign pays for it. A useful companion resource for teams diagnosing broader inbox placement problems is this email deliverability checklist for merchants, especially when the symptom looks like “content underperformed” but the cause sits in infrastructure.
Most tutorials stop after the toggle turns green. That's the dangerous part. Data from Microsoft's own diagnostic tools shows that 30% of DKIM failures stem from DNS issues that persist after the Enable toggle is flipped, which is exactly why a one-time setup mindset causes so many preventable deliverability problems later in production traffic (Mailwarm on Office 365 DKIM setup).
Table of Contents

The Silent Campaign Killer Why Your O365 Emails Hit Spam

A drop in opens rarely starts with the creative. It usually starts with trust. Gmail, Outlook, and Yahoo don't evaluate email like marketers do. They look at identity, consistency, and whether the sender can prove that the message came from the domain it claims to represent.

Why the problem hides in plain sight

Office 365 makes this easy to underestimate because mail can still send even when DKIM isn't properly active for a custom domain. The user sees successful delivery from Outlook. The security team assumes Microsoft is handling everything. Then a campaign underperforms because receiving servers treat unsigned or misaligned mail with more suspicion.
That creates a costly pattern:
  • Marketing loses signal: Open and reply trends become unreliable because poor authentication drags down inbox placement.
  • Sales loses pipeline: Cold outbound sequences get filtered before prospects ever see them.
  • Support loses trust: Transactional and lifecycle email can land in spam, which damages the customer experience.
  • Leadership gets false conclusions: Teams think the message failed, when the actual issue was domain trust.

What this breaks for deliverability

DKIM matters because it supports the broader trust model around SPF and DMARC. When that chain is weak, sender reputation becomes harder to defend. This affects the visible From domain, the domain's long-term reputation, and how aggressively mailbox providers filter that mail.
A realistic example looks like this:
Scenario
What the sender sees
What the mailbox provider sees
Campaign sends from a custom Office 365 domain with working DKIM
Sent successfully
Authenticated sender with stronger trust signals
Campaign sends from same domain after DNS issue breaks DKIM
Sent successfully
Inconsistent identity, higher filtering risk
Team checks only the portal toggle
“Enabled” in admin view
Live mail may still fail or sign inconsistently
Teams that also manage list hygiene should pair authentication work with recipient quality control. A practical reference is Eludic's guide to email verification, because invalid or risky recipients can amplify the damage from already weak authentication.

The Foundation of Trust SPF DKIM and DMARC

Deliverability starts with identity. The three controls that matter most are SPF, DKIM, and DMARC. Together, they help receiving servers decide whether a message deserves inbox placement or extra scrutiny. For a deeper framework, this guide on email authentication is the right companion piece.

What each protocol does

A simple way to think about it is a passport check.
  • SPF says which sending systems are allowed to send on behalf of the domain.
  • DKIM adds a cryptographic signature so the receiving server can verify the message wasn't altered and that the signing domain stands behind it.
  • DMARC tells receiving servers how to evaluate alignment and what policy to apply when checks fail.
None of these should be treated as optional. SPF without DKIM leaves too much room for message handling issues and alignment gaps. DKIM without DMARC reduces enforcement. DMARC without proper SPF and DKIM alignment creates noisy failures instead of useful protection.

Why DKIM carries unique weight

DKIM is the tamper-evident seal in that passport model. It doesn't just say who is allowed to send. It helps prove the message that arrived is the message that left the sender.
That matters for Office 365 because mailbox providers increasingly reward stable, authenticated sending patterns. A domain that signs consistently is easier to trust than one that sometimes signs, sometimes doesn't, and sometimes routes through third-party tools with completely different authentication behavior.
Use this quick decision table when reviewing a domain:
Check
Good state
Risk if ignored
SPF
Only authorized senders included
Sender authorization becomes unclear
DKIM
Message is signed by the intended domain
Receiving servers lose message integrity proof
DMARC
Alignment policy matches the From domain strategy
Spoofing protection and policy enforcement stay weak
For Office 365, that cryptographic proof is especially important when the same brand sends from multiple systems, such as Outlook, a CRM, a helpdesk platform, and an outbound platform. If one sender is aligned and another isn't, the whole domain's reputation gets harder to manage.

Creating and Publishing Your Office 365 DKIM Records

This is the part where most implementations go right or wrong. The process itself isn't hard. The danger comes from copying stale examples, publishing only one selector, or using the wrong DNS record type.
notion image

Before touching DNS

A clean Office 365 DKIM deployment starts with three checks:
  1. Confirm the domain is the sending domain. Don't set up DKIM on a domain that doesn't send mail.
  1. Confirm access is split correctly. One person may have tenant access in Microsoft 365, while another controls DNS at Cloudflare, GoDaddy, or another provider.
  1. Confirm the team is working on a custom domain. Microsoft handles the initial onmicrosoft.com domain differently. Custom branded domains need explicit configuration.

The exact Office 365 DKIM setup flow

For teams searching how to set up DKIM for Office 365, the safest workflow is the current Microsoft 365 Defender path.
Step 1. Open the DKIM area in Microsoft 365 Defender
Go to the Defender portal at security.microsoft.com/dkimv2 and select the custom domain that sends mail.
Step 2. Create DKIM keys
Microsoft's current interface allows administrators to select a domain, click Create DKIM Keys, copy the generated values, publish them in DNS, and then enable signing. That workflow can reduce setup time to under 15 minutes for experienced users when access and DNS coordination are already in place (LazyAdmin on configuring DKIM in Office 365).
Step 3. Copy the generated CNAME targets exactly
Teams should discontinue using screenshots from old blogs. The portal gives the values for that specific tenant and domain. Those are the values to publish.
Step 4. Publish both CNAME records in DNS
When configuring DKIM for Office 365, administrators must publish exactly two CNAME records named selector1._domainkey and selector2._domainkey, and both must resolve to Microsoft 365's DKIM endpoints. If either one is missing, the status remains NoDKIMKeys in Microsoft Defender (Microsoft guidance on manually hooking up DKIM signing in Office 365).

What the DNS records look like

The hostnames follow a simple pattern at the DNS level:
  • selector1._domainkey
  • selector2._domainkey
The destination values come from Microsoft 365. Those must be copied from the tenant's DKIM screen, not guessed.
A realistic layout looks like this:
DNS field
Record 1
Record 2
Type
CNAME
CNAME
Host
selector1._domainkey
selector2._domainkey
Target
Microsoft 365-generated endpoint
Microsoft 365-generated endpoint
Two practical notes matter here.
  • Use CNAME, not TXT. Older DKIM implementations on other platforms often use TXT public keys. Office 365's native DKIM v2 architecture uses CNAME delegation instead.
  • Publish both selectors even if one seems enough. Microsoft uses two selectors to support key management and rotation without requiring manual DNS changes every time.
A short checklist before leaving DNS:
  • Record type is CNAME: Not TXT, not anything else.
  • Hostnames are exact: selector1._domainkey and selector2._domainkey.
  • Targets come from Microsoft 365: Not from a copied example.
  • No duplicate records exist: Conflicting entries can prevent clean resolution.
  • The right domain is being configured: Especially important in multi-brand tenants.
If the team manages multiple sending domains, repeat the process for each custom domain that sends mail through Microsoft 365. One enabled domain doesn't protect the rest.

Enabling and Verifying Your DKIM Signature

A familiar failure looks like this. The admin flips on DKIM after publishing the CNAMEs, the portal shows enabled, campaigns go out, and nobody checks the headers until a sales sequence starts landing in spam. By then, the business problem is no longer setup. It is lost pipeline, missed replies, and a domain team now has to audit under pressure.
notion image

Enable DKIM only after public DNS resolves cleanly

Office 365 lets you turn on DKIM before your DNS is fully visible across public resolvers. That is where teams get a false sense of completion. Check both selectors against public DNS first, then enable signing in Defender.
A practical sequence:
  1. Confirm both CNAMEs resolve publicly. Test selector1._domainkey and selector2._domainkey, not just what your DNS host shows inside its own dashboard.
  1. Enable DKIM in Microsoft 365 Defender. Turn on “Sign messages for this domain with DKIM signatures.”
  1. Send a live message to an external mailbox. Gmail is useful because its header view is easy to inspect.
  1. Review the raw headers from the received message.
TTL also matters here. Lower TTL values make cleanup and corrections faster if the records were entered wrong, while higher values can leave a broken state cached longer than expected.

How to prove DKIM is signing

The only proof that matters is in the received message. Send a test email from the Microsoft 365 domain to Gmail, open Show original, and read the raw headers.
Look for these fields:
  • A DKIM-Signature header
  • A d= value that matches the domain you intended to sign with
  • An s= value that matches one of your published selectors
  • A pass result in the authentication details
PowerDMARC's Microsoft Office 365 DKIM setup guide walks through the Microsoft-side process, but header review is what confirms the message left your environment with a valid signature.
Use a separate lookup too. A dedicated dkim checker confirms that the selector is visible in public DNS and resolving where it should.

Verify more than once

One passing test after setup is not enough for a business domain.
Repeat verification after DNS migrations, domain onboarding, security policy changes, and mail flow changes involving third-party platforms. This is the part generic Office 365 guides skip. Microsoft 365 may sign mail sent through its own path, while a CRM, marketing platform, ticketing system, or billing tool sending on behalf of the same domain may use different DKIM selectors, a different signing domain, or no DKIM at all unless you configure it separately.
That creates a quiet risk. Leadership sees one domain and one brand. Mailbox providers see multiple sending systems with different authentication behavior. If one of those systems stops signing, you can get selective inboxing problems that only affect invoices, support replies, or outbound sales mail. Those failures are easy to miss because the domain still looks “enabled” in Microsoft 365.
Teams that rely on email for revenue should treat DKIM verification as ongoing monitoring, not a one-time checkbox.

Common DKIM Mistakes and Troubleshooting Steps

A familiar failure looks like this. The domain shows "enabled" in Microsoft 365, campaigns go out on schedule, and nobody notices a problem until replies slow down, support messages disappear into spam, or invoice reminders stop getting traction. By then, DKIM has usually been broken for days or weeks.
notion image
Office 365 DKIM problems are rarely dramatic. They are small configuration errors, DNS mistakes, or mail flow assumptions that subtly weaken trust. That is why they are expensive. Silent authentication failures hit revenue emails first because nobody is watching headers on quotes, billing notices, password resets, or outbound sales sequences after the initial rollout.

The failure patterns seen most often

DNS timing causes plenty of false starts. Teams publish the CNAMEs, wait a few minutes, then try to enable signing before public resolvers can see the records. The DNS host may show the records immediately while the rest of the internet does not.
The next problem is incomplete setup. Microsoft 365 uses two selectors for native DKIM. If selector2 is missing, misnamed, or pointed to the wrong target, the setup can look close to finished while still failing.
Record type errors are common too. Admins who have configured DKIM on other platforms often expect to publish a TXT record with a public key. For Microsoft 365 native signing, that assumption breaks the setup because Microsoft expects CNAME records for its managed DKIM path.
One more issue gets missed in generic guides. Teams test with one mailbox and assume the domain is covered. Then a shared mailbox, alias, subdomain, connector-based route, or third-party tool sends mail on the same brand domain without valid signing. The business sees one domain. Mailbox providers see several sending paths with different authentication behavior.

A practical troubleshooting checklist

Use this list when DKIM will not enable, headers fail, or inbox placement drops after a change:
  • Confirm both selectors exist: Check selector1._domainkey and selector2._domainkey. One missing record is enough to stop the setup.
  • Confirm the record type: Microsoft 365 native DKIM requires CNAME records.
  • Confirm the target values: The hostnames must match the values generated for your tenant and domain.
  • Confirm public DNS resolution: Query from a public lookup tool, not only inside the DNS provider dashboard.
  • Confirm the exact sending path: Test the mailbox, app, or platform that produced the problem email. Do not assume all mail for the domain follows the same route.
  • Confirm header-level signing: Administrative status does not prove live signing.
  • Check domain reputation separately: If DKIM passes and mail still goes to spam, run a blacklist checker.
  • Check sending behavior if volume changed recently: A new domain or a sudden ramp can create placement issues even with valid DKIM. This email warmup guide helps separate authentication problems from reputation ramp problems.
A symptom-to-cause view usually speeds this up:
Symptom
Likely cause
Fix
Status shows NoDKIMKeys
One or both CNAMEs are missing or not resolving publicly
Publish both selectors and verify public resolution
Toggle will not stay enabled
DNS has not propagated yet, or the target values are wrong
Recheck the tenant-generated CNAME targets and test again after public resolution
Message sends but no DKIM header appears
The tested message did not leave through the Microsoft 365 signing path
Verify the mailbox, connector, routing rule, or third-party sender used for that message
DKIM passes for one test email but other mail still fails
Another sender on the same domain is unsigned or signing with a different domain
Audit every sending platform using the visible From domain
DKIM is present but deliverability is still weak
Reputation issues, DMARC alignment problems, or mixed sender behavior
Review SPF, DMARC, complaint patterns, and all systems sending as the domain
Avoid these mistakes because they waste the most time:
  • Copying a generic DNS example instead of the tenant-specific Microsoft values
  • Entering the full hostname twice when the DNS host auto-appends the domain
  • Testing from the wrong mailbox, shared mailbox, or application
  • Checking only the admin portal and skipping live message headers
  • Assuming one passing result covers marketing, sales, support, billing, and product mail
  • Treating DKIM as a one-time task instead of an item to monitor after DNS, routing, or vendor changes

Advanced DKIM Management for Business Critical Email

The basic Office 365 setup covers only one slice of the actual environment. Most serious senders use more than Outlook. They also send from CRMs, sales engagement platforms, support systems, finance tools, and product notification services. That changes the problem completely.
notion image

Third-party senders change the problem

A major gap in most guidance is delegated and third-party sending. Microsoft's documentation confirms that DKIM keys for Microsoft 365 must be created by a Global Admin, yet many real environments involve agencies, partner tenants, hybrid routing, or clients who own the domain while someone else operates the campaign infrastructure. In those scenarios, misconfiguration can lead to 40%+ rejection rates at Gmail and Yahoo (Vortenza's Microsoft 365 DKIM guide).
That means every sender using the domain should be mapped explicitly.
  • Office 365 mailbox traffic: Uses Microsoft's DKIM path.
  • Marketing platform traffic: Usually needs its own authenticated domain setup.
  • Support or CRM mail: Often signs differently and may not align with the visible From domain unless configured carefully.
  • Agency-managed traffic: Requires coordination across DNS ownership, tenant permissions, and platform-level authentication.
A domain can have perfect Microsoft 365 DKIM and still fail overall deliverability because another system sends misaligned mail from the same brand.

Why ongoing monitoring matters after setup

Two selectors exist for a reason. Microsoft's architecture uses CNAME delegation so key retrieval and rotation are handled within Microsoft's infrastructure instead of forcing DNS edits for each key change. That simplifies management, but it doesn't remove the need to monitor the live result.
A strong post-setup operating model includes:
  • Header reviews after changes: Check real mail after DNS edits, tenant changes, or routing changes.
  • Sender inventory control: Keep a list of every platform sending from the domain.
  • Alignment checks across systems: DKIM has to support the broader DMARC strategy.
  • Volume discipline for new senders: When new systems start sending, follow a structured email warmup guide so authentication and engagement signals develop together.
For SaaS companies, recruiters, outbound teams, and agencies, that ongoing layer matters more than the initial toggle. Inbox placement depends on consistency, not just configuration.

Frequently Asked Questions About Office 365 DKIM

What is DKIM in Office 365?DKIM is an email authentication method that adds a cryptographic signature to outgoing mail so receiving servers can verify the message's integrity and the signing domain's identity.
How many DKIM DNS records does Office 365 need?Office 365 custom domains require exactly two CNAME records, using selector1._domainkey and selector2._domainkey, based on the values generated in Microsoft 365.
How long does DKIM take to start working in Office 365?DNS propagation can take up to 24 to 48 hours, depending on the DNS provider. After both records resolve correctly and DKIM is enabled, live messages should begin signing.
Do teams need DKIM if SPF is already configured?Yes. SPF and DKIM do different jobs. SPF authorizes senders. DKIM verifies signed message integrity. Both support DMARC and sender trust.
What if a company sends from multiple Office 365 domains?Each custom domain that sends mail needs its own DKIM configuration. One working domain doesn't automatically cover other branded domains or subdomains.
Still facing deliverability issues? Mail can look fine in Microsoft 365 and still fail where it matters most, inside Gmail, Outlook, and Yahoo filtering. Mailadept helps teams audit authentication, monitor sender reputation, and catch the quiet failures that generic setup guides miss.

Get expert insights on why your emails go to spam and how to consistently reach the inbox.

Fix Your Email Deliverability Before It Costs You Revenue

Get a Free Deliverability Audit

Written by

Thami Benjelloun
Thami Benjelloun

CEO Mailwarm, email deliverability expert.