Microsoft 365 + Cloudflare
Set up Microsoft 365 email on Cloudflare
The records Microsoft 365 needs, written with the field names Cloudflare uses (Name, Mail server, Content, Target), in the order to add them.
- 6 steps
- 7 DNS records
Before you start
- Have your Microsoft 365 account ready. Some values are unique to your account and come from the Microsoft 365 admin center .
- Open DNS at Cloudflare: Sign in to the Cloudflare dashboard and select your domain. Open the DNS Records page.
- Keep both tabs open and add the records below one at a time.
Microsoft 365 also publishes its own guide for Cloudflare: Connect your DNS records at Cloudflare to Microsoft 365 (Microsoft Learn) .
Microsoft 365 on Cloudflare: what to know
How long changes take
Microsoft says DNS changes typically take about 15 minutes to take effect, and occasionally longer.
Cloudflare says changes to your DNS records take effect worldwide within 5 minutes, usually much less. A record you replaced can stay cached until its old TTL runs out.
Source: Connect your DNS records at Cloudflare to Microsoft 365 (Microsoft Learn), FAQ (Cloudflare DNS Docs)
Records to add
Copy each value with the button next to it. Rows marked “Copy from Microsoft 365 admin center” are unique to your account.
| Record | Type | Name | Value | Priority | TTL | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Domain verification Proves you own the domain | Type | TXT | Name | @ | Value | Copy from Microsoft 365 admin center Looks like: MS=ms followed by digits | Priority | n/a | TTL | 3600 (1 h) |
| MX records Where incoming email goes | Type | MX | Name | @ | Value | Copy from Microsoft 365 admin center Looks like: <your MX token>.mail.protection.outlook.com, or for domains set up on Microsoft's newer DNSSEC infrastructure <your MX token>.<subdomain>.mx.microsoft | Priority | 0 | TTL | 3600 (1 h) |
| SPF record Which servers may send as you | Type | TXT | Name | @ | Value | v=spf1 include:spf.protection.outlook.com -all | Priority | n/a | TTL | 3600 (1 h) |
| DKIM A signature on every message · recommended | Type | CNAME | Name | selector1._domainkey | Value | Copy from Microsoft 365 admin center Looks like: selector1-yourdomain-com._domainkey.<your onmicrosoft prefix>.<letter>-v1.dkim.mail.microsoft (older domains: selector1-yourdomain-com._domainkey.<prefix>.onmicrosoft.com) | Priority | n/a | TTL | 3600 (1 h) |
| DKIM A signature on every message · recommended | Type | CNAME | Name | selector2._domainkey | Value | Copy from Microsoft 365 admin center Looks like: selector2-yourdomain-com._domainkey.<your onmicrosoft prefix>.<letter>-v1.dkim.mail.microsoft (older domains: selector2-yourdomain-com._domainkey.<prefix>.onmicrosoft.com) | Priority | n/a | TTL | 3600 (1 h) |
| DMARC record What to do with fakes · recommended | Type | TXT | Name | _dmarc | Value | v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com | Priority | n/a | TTL | Auto |
| Autodiscover Automatic app setup · recommended | Type | CNAME | Name | autodiscover | Value | autodiscover.outlook.com | Priority | n/a | TTL | 3600 (1 h) |
Step by step in Cloudflare
Verify your domain
Your email provider needs proof that you control this domain before it accepts email for it.
- Type
- TXT
- Name
-
@ - Content
- Copy it from Microsoft 365 admin center (see below)
Where to find your value
In the Microsoft 365 admin center go to Settings > Domains and add your domain (or select it and choose Start setup). On Verify you own your domain, choose Add a TXT record to the domain's DNS records and copy the TXT value.
It looks like: MS=ms followed by digits
- Verification usually takes up to 10 minutes after adding the record, sometimes up to 48 hours.
1 more note from Microsoft 365 on this record
In Cloudflare
- On the DNS Records page, select Add record.
- Choose TXT as the Type.
- Fill in Name and Content.
- Select Save.
Point your MX records
MX records tell other mail servers where to deliver your email. How MX works
- Type
- MX
- Name
-
@ - Priority
- 0
- Mail server
- Copy it from Microsoft 365 admin center (see below)
Where to find your value
In the Microsoft 365 admin center go to Settings > Domains, select your domain, then DNS records > Manage DNS. On the Add DNS records page, expand MX Records and copy the value.
It looks like: <your MX token>.mail.protection.outlook.com, or for domains set up on Microsoft's newer DNSSEC infrastructure <your MX token>.<subdomain>.mx.microsoft
- Remove MX records that point to your previous email provider, or give them a lower priority (a higher number) than the Microsoft 365 record.
- Add users and mailboxes in Microsoft 365 before switching the MX record so incoming mail keeps flowing.
2 more notes from Microsoft 365 on this record
In Cloudflare
- On the DNS Records page, select Add record.
- Choose MX as the Type.
- Fill in Name, Mail server and Priority.
- Select Save.
- Delete any other MX records: select Edit on each one, then Delete, and confirm.
Add the SPF record
SPF lists the services allowed to send email as you. How SPF works
- Type
- TXT
- Name
-
@ - Content
-
v=spf1 include:spf.protection.outlook.com -all
- If an SPF record already exists, don't create a second one. Add include:spf.protection.outlook.com to the existing record so there is a single SPF record.
2 more notes from Microsoft 365 on this record
In Cloudflare
- On the DNS Records page, select Add record.
- Choose TXT as the Type.
- Fill in Name and Content.
- Select Save.
Set up DKIM (recommended)
DKIM signs your mail so receivers can trust it. How DKIM works
- Type
- CNAME
- Name
-
selector1._domainkey - Target
- Copy it from Microsoft 365 admin center (see below)
Where to find your value
In the Microsoft Defender portal open Email authentication settings (security.microsoft.com/authentication), select the DKIM tab and your domain, then copy the two CNAME values. They are also shown in the admin center under Add DNS records > Advanced options > DomainKeys Identified Mail (DKIM).
It looks like: selector1-yourdomain-com._domainkey.<your onmicrosoft prefix>.<letter>-v1.dkim.mail.microsoft (older domains: selector1-yourdomain-com._domainkey.<prefix>.onmicrosoft.com)
- After both CNAME records resolve, turn on Sign messages for this domain with DKIM signatures in the Defender portal.
- Type
- CNAME
- Name
-
selector2._domainkey - Target
- Copy it from Microsoft 365 admin center (see below)
Where to find your value
Same place as selector1: Defender portal > Email authentication settings > DKIM tab > your domain.
It looks like: selector2-yourdomain-com._domainkey.<your onmicrosoft prefix>.<letter>-v1.dkim.mail.microsoft (older domains: selector2-yourdomain-com._domainkey.<prefix>.onmicrosoft.com)
- Add both selector records. Microsoft rotates between them.
1 more note from Microsoft 365 on this record
In Cloudflare
- On the DNS Records page, select Add record.
- Choose CNAME as the Type.
- Fill in Name and Target.
- Set Proxy status to DNS only (grey cloud).
- Select Save.
- Repeat for each CNAME record above.
Add the DMARC record (recommended)
DMARC tells receivers what to do with mail that fakes your domain. How DMARC works
- Type
- TXT
- Name
-
_dmarc - Content
-
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com
- Replace the report address with a shared mailbox or group, not a personal inbox.
3 more notes from Microsoft 365 on this record
In Cloudflare
- On the DNS Records page, select Add record.
- Choose TXT as the Type.
- Fill in Name and Content.
- Select Save.
Add the Autodiscover record (recommended)
Autodiscover lets Outlook and other mail apps find your account settings without manual setup.
- Type
- CNAME
- Name
-
autodiscover - Target
-
autodiscover.outlook.com
- Optional but highly recommended: lets Outlook and other apps set up mailboxes automatically.
In Cloudflare
- On the DNS Records page, select Add record.
- Choose CNAME as the Type.
- Fill in Name and Target.
- Set Proxy status to DNS only (grey cloud).
- Select Save.
Check your setup
Once the records are saved, run a live check. We look up your domain in public DNS and tell you what is right, missing or wrong, with the fix in Cloudflare’s words.
Common mistakes with Microsoft 365 on Cloudflare
Switching MX before adding mailboxes
Add users and mailboxes in Microsoft 365 before changing the MX record, or incoming mail has nowhere to go.
Adding a second SPF record
Microsoft says not to create a new SPF record if one exists. Add include:spf.protection.outlook.com to the existing record so there is a single SPF record.
Cloudflare: Keep email CNAMEs on DNS only
Set Proxy status to DNS only (grey cloud) for DKIM and verification CNAME records. Cloudflare says records used for email or domain verification should not be proxied, and may block proxying DKIM CNAMEs.
Cloudflare: Turn off Cloudflare Email Routing first
If Email Routing is on, Cloudflare has added locked MX records (route1, route2 and route3.mx.cloudflare.net) and an SPF record with include:_spf.mx.cloudflare.net. Unlock them or disable Email Routing (Compute > Email Service > Email Routing > your domain > Settings) before switching to another provider. Email Routing can't be used with an outside mail server.
Microsoft 365 on Cloudflare: questions
Should I use Domain Connect at Cloudflare?
Microsoft suggests it if the domain isn’t set up with another email provider yet: Settings > Domains > your domain > Manage DNS, then Add DNS records, sign in to Cloudflare and select Authorize. Otherwise add the records yourself.
Do I have to change nameservers first?
Yes, if the domain is registered elsewhere. Microsoft says to change the nameservers at your registrar to the ones Cloudflare gave you before adding the Microsoft 365 records in Cloudflare.
I used Cloudflare Email Routing before. How do I switch without losing mail?
Cloudflare says to unlock the Email Routing records first (Email Routing > Settings > DNS records > Unlock), add the Microsoft 365 records alongside them, and disable Email Routing once the new setup works. Disabling removes the MX, SPF and DKIM records Email Routing added.
Where do I add Microsoft 365 DNS records in Cloudflare?
Sign in to the Cloudflare dashboard and select your domain. Open the DNS Records page. Add each record there, one at a time.
What goes in the Name field at Cloudflare?
Enter @ for records on your bare domain, such as MX and SPF. For the others, enter only the part before your domain, for example autodiscover. Cloudflare adds your domain automatically.
Do I need to delete my existing MX records at Cloudflare?
Remove MX records that point to your previous email provider, or give them a lower priority (a higher number) than the Microsoft 365 record. If Email Routing is on, Cloudflare has added locked MX records (route1, route2 and route3.mx.cloudflare.net) and an SPF record with include:_spf.mx.cloudflare.net. Unlock them or disable Email Routing (Compute > Email Service > Email Routing > your domain > Settings) before switching to another provider. Email Routing can't be used with an outside mail server.
Can Microsoft 365 add the records at Cloudflare for me?
Cloudflare supports Domain Connect, so Microsoft 365 and Zoho Mail can add records for you after you sign in and authorize.
How long until Microsoft 365 email works on Cloudflare?
Microsoft says DNS changes typically take about 15 minutes to take effect, and occasionally longer. Cloudflare says changes to your DNS records take effect worldwide within 5 minutes, usually much less. A record you replaced can stay cached until its old TTL runs out.
Sources
Every value and step on this page comes from these official pages. Dashboards change, so if something doesn’t match what you see, tell us.
Microsoft 365 records
- Add a custom domain to Microsoft 365 (Microsoft Learn)
- Connect DNS records at Namecheap to Microsoft 365 (Microsoft Learn)
- Connect your DNS records at Cloudflare to Microsoft 365 (Microsoft Learn)
- Connect your DNS records at GoDaddy to Microsoft 365 (Microsoft Learn)
- Connect your domain by adding DNS records (Microsoft Learn)
- External Domain Name System records for Microsoft 365 (Microsoft Learn)
- How SMTP DANE works (Microsoft Learn)
- How to use DKIM for email in your custom domain (Microsoft Learn)
- RFC 9989: DMARC (IETF)
- Set up DMARC to validate email in Microsoft 365 (Microsoft Learn)
- Set up SPF to identify valid email sources for your Microsoft 365 domain (Microsoft Learn)
Cloudflare steps and tips
Some of these are other email providers' official guides for Cloudflare. They describe the same Cloudflare dashboard.
Microsoft 365 on Cloudflare
Microsoft 365 on other hosts
- Microsoft 365 on Bluehost
- Microsoft 365 on GoDaddy
- Microsoft 365 on Hostinger
- Microsoft 365 on Namecheap
- Microsoft 365 on Squarespace Domains
- Microsoft 365 on Amazon Route 53
- Microsoft 365 on DreamHost
- Microsoft 365 on IONOS
- Microsoft 365 on Name.com
- Microsoft 365 on Network Solutions
- Microsoft 365 on OVHcloud
- Microsoft 365 on Porkbun
- Microsoft 365 on SiteGround
- Microsoft 365 on Wix
- Microsoft 365 on WordPress.com
Other email providers on Cloudflare
- Cloudflare Email Routing on Cloudflare
- Google Workspace on Cloudflare
- Zoho Mail on Cloudflare
- Fastmail on Cloudflare
- Hostinger Email on Cloudflare
- iCloud+ Custom Email Domain on Cloudflare
- Migadu on Cloudflare
- Namecheap Private Email on Cloudflare
- Proton Mail on Cloudflare
- Rackspace Email on Cloudflare
- Titan Email on Cloudflare