Contact us

Product

DMARC for Microsoft 365: setting up your M365 DMARC record

Microsoft 365 looks after authentication for its own onmicrosoft.com domain, but for your own domain you publish SPF, switch on DKIM and add the DMARC record yourself. This guide takes you through each step for Exchange Online, using the records Microsoft documents.

In short

A Microsoft 365 DMARC record is a TXT record at _dmarc.yourdomain, published at your DNS host rather than inside Microsoft 365. Publish SPF with include:spf.protection.outlook.com and switch on DKIM for the custom domain first. UK public sector domains must have DMARC, DKIM and SPF in place under gov.uk's Securing government email guidance.

Get a quote for DMARC for Microsoft 365

Tell us roughly how many users or sites you have and we will come back to you with options and a quote.

Contact us for free advice or a quote

What Microsoft 365 does for you, and what you configure

How much work there is depends on which domain your users send from. Microsoft's DMARC set-up guide (opens in a new tab) splits it into the initial onmicrosoft.com domain, which Microsoft owns, and the custom domains you add yourself:

What Microsoft 365 does for you, and what you configure
DomainSPFDKIM (opens in a new tab)DMARC
contoso.onmicrosoft.com (the initial domain)Already configured by Microsoft; you cannot edit itOutbound mail is signed automaticallyYou create the record yourself, in the Microsoft 365 admin center
Your custom domain (example.co.uk)You publish it at your DNS hostNot signed with your domain until you switch DKIM onYou publish it at your DNS host
Each sending subdomain (news.example.co.uk)Needs its own SPF recordNeeds its own DKIM configurationInherits the parent record unless it has its own
Parked domains that send no emailv=spf1 -allPublish no DKIM recordsv=DMARC1; p=reject;

Two points catch people out. First, Microsoft's DKIM guide (opens in a new tab) says that "currently, no DKIM signing occurs for outbound mail from custom domains" until you set it up, so mail from example.co.uk relies on SPF alone for DMARC until you do. Second, "there are no admin portals or PowerShell cmdlets in Microsoft 365 for you to manage DMARC TXT records in your custom domains": the record lives with whoever hosts your DNS, often your domain registrar.

The onmicrosoft.com records belong to Microsoft, which is also why DMARC platforms treat them differently. Check Point's SPF Management (opens in a new tab) guide, for example, shows a "Not Available" status for onmicrosoft.com subdomains. You can see what any of your domains publishes today with our DMARC checker.

Not sure which option fits? Ask us

Tell us what you need and we will recommend the right option for your organisation, with a quote.

Contact us for free advice or a quote

SPF for Exchange Online

For a custom domain that sends only through Microsoft 365, Microsoft's SPF guide (opens in a new tab) gives this record, published as a TXT record at the root of the domain:

SPF for Exchange Online
ScenarioSPF TXT record
Microsoft 365 onlyv=spf1 include:spf.protection.outlook.com -all
Microsoft 365 plus your own mail serverv=spf1 ip4:192.168.0.10 include:spf.protection.outlook.com -all
Microsoft 365 plus another service's includev=spf1 include:servers.adatum.com include:spf.protection.outlook.com -all
A parked domainv=spf1 -all

The IP address and adatum.com values are Microsoft's own examples; replace them with your real senders. Things to get right:

  • One SPF record per domain. Add every sender to the same record rather than publishing a second one
  • Hard fail or soft fail. Microsoft recommends -all for Microsoft 365 domains because DMARC and DKIM sit alongside it. gov.uk's Set up government email services securely (opens in a new tab) asks public sector senders for at least ~all. Both count as an SPF failure for DMARC
  • The 10-lookup limit. If checking the record needs more than 10 DNS lookups, SPF fails with a permanent error. Each include: costs at least one lookup, and nested includes add more, so fewer than 10 includes does not guarantee you are under the limit
  • Subdomains need their own record. The SPF record for example.co.uk does not cover news.example.co.uk
  • TTL. Microsoft recommends a TTL of at least 3600 seconds (one hour) on SPF records

The SPF, DKIM and DMARC explained guide covers how SPF alignment works with the Return-Path domain.

DKIM for your custom domain

Microsoft 365 signs with your domain using two CNAME records, called selectors, that point to public keys Microsoft holds. Only one selector is active at a time; the second is there so keys can be rotated. The hostnames are the same for every tenant:

DKIM for your custom domain
Host namePoints to (format)
selector1._domainkeyselector1-example-co-uk._domainkey.example.r-v1.dkim.mail.microsoft
selector2._domainkeyselector2-example-co-uk._domainkey.example.r-v1.dkim.mail.microsoft

In that format, "example-co-uk" is your custom domain with dashes for dots, the next "example" is the prefix of your onmicrosoft.com domain, and the single letter before -v1 is a partition character Microsoft assigns. The values above are an illustration only: Microsoft says (opens in a new tab) to read the exact values for your domain from the portal or from Exchange Online PowerShell (Get-DkimSigningConfig). To switch DKIM on:

  1. In the Microsoft Defender portal (security.microsoft.com), go to Email & collaboration, Policies & rules, Threat policies, then the Email authentication settings page and its DKIM tab. This is part of the built-in protection that applies to all cloud mailboxes
  2. Select your custom domain and slide the toggle from Disabled to Enabled. An error dialog appears listing the two CNAME values you need, and the status changes to CnameMissing
  3. Open the domain's details again and copy the values from the Publish CNAMEs section
  4. At your DNS host, create the two CNAME records
  5. Wait for Microsoft 365 to detect them (a few minutes, possibly longer), then turn on Sign messages for this domain with DKIM signatures. The status changes to Valid and Rotate DKIM keys becomes available

Repeat this for each custom domain and each subdomain you send from. Once DKIM signs with your domain, DMARC can pass on DKIM even when a message's SPF result breaks, for example after forwarding.

Is DMARC for Microsoft 365 the right fit for you?

We will check it against your systems and requirements and recommend the right option.

Contact us for free advice or a quote

The DMARC record for a Microsoft 365 domain

With SPF and DKIM in place, publish the DMARC record at your DNS host as a TXT record with the host name _dmarc. Start in monitoring mode and send reports to a mailbox or service that can process them:

The DMARC record for a Microsoft 365 domain
StageTXT record at _dmarc.example.co.uk
Monitoringv=DMARC1; p=none; rua=mailto:dmarc-reports@example.co.uk
Quarantine (RFC 9989 test flag)v=DMARC1; p=quarantine; t=y; rua=mailto:dmarc-reports@example.co.uk
Quarantinev=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.co.uk
Rejectv=DMARC1; p=reject; rua=mailto:dmarc-reports@example.co.uk
Unused onmicrosoft.com or parked domainv=DMARC1; p=reject

Microsoft's own examples still include pct=100. RFC 9989 (opens in a new tab), the DMARC standard published in May 2026, made pct historic and added the t tag for testing a stricter policy, which is the t=y row above. t=y is new in RFC 9989: receivers that have not adopted it ignore the tag and apply quarantine in full, so only publish that stage once your reports show every genuine sender passing. Our DMARC generator builds records in the current syntax.

A few Microsoft 365 specifics:

  • Where reports go. Microsoft recommends (opens in a new tab) a specific mailbox or Microsoft 365 Group for DMARC reports rather than a user's own mailbox, or an external DMARC reporting service, which then tells you the rua value to use
  • Subdomains inherit. Unlike SPF and DKIM, the record at the parent domain covers every subdomain, including ones that do not exist, unless a subdomain publishes its own
  • Failure reports. Microsoft 365 does not send DMARC failure (ruf) reports, even if your record asks for them, so most of your insight comes from aggregate reports
  • The onmicrosoft.com domain. If you do not send from it, Microsoft says to publish v=DMARC1; p=reject for it too, added on the Domains page of the Microsoft 365 admin center

The DMARC record explained guide covers every tag.

Other services that send as your Microsoft 365 domain

Few organisations send only from Exchange Online. Payroll and HR systems, CRM, accounting software, website forms and marketing platforms often send using your domain, and each one needs SPF or DKIM that aligns with your From address before you move past p=none. Microsoft's guidance offers two practical steps:

  • Use subdomains for services you don't control. Microsoft recommends a subdomain such as marketing.example.co.uk for bulk email services, so their problems don't affect the reputation of mail your staff send. It also keeps each SPF record inside its own 10-lookup budget
  • Start reporting early. Microsoft's SPF guide says that in complex organisations it is important to "quickly configure DKIM signing and DMARC (in 'take no action' mode)", and that "a DMARC reporting service is very helpful for identifying email sources"

The platforms we supply each connect to Microsoft 365 in their own way:

Other services that send as your Microsoft 365 domain
PlatformHow it works with Microsoft 365
ValimailValimail's Microsoft page (opens in a new tab) describes a Microsoft 365 Mailbox Connector that shows services used to email your own staff, such as payroll messages, and a Trusted Domains feature that reads your tenant's domain list to find unprotected domains
EasyDMARCLists Microsoft 365 among its sending platform integrations (opens in a new tab), alongside Microsoft Sentinel for SIEM and Microsoft Teams for alerts
Check Point DMARC Management (opens in a new tab)An add-on to Check Point Email Security, which its admin guide (opens in a new tab) describes as an API-based inline protection service. The DMARC chapter (opens in a new tab) notes that mail comes from your tenant and from other sources such as Salesforce and Marketo

The DMARC for email marketing platforms guide covers Klaviyo, Mailchimp and Mailgun in detail.

Monitoring and enforcement on Microsoft 365

Once reports arrive, the work is the same as on any platform: identify every sender, fix the ones that fail, then raise the policy. Microsoft's advice for the move to quarantine and reject is to "go slowly and methodically deal with issues that are revealed in DMARC reporting".

Microsoft 365 is also a receiver, and it affects the reports other domains get from you:

  • Microsoft 365 sends DMARC aggregate reports to domains with a valid rua address, as long as your MX record points directly to Microsoft 365
  • If inbound mail passes through another service or device first (the MX points elsewhere, including hybrid set-ups via an on-premises server), aggregate reports are not sent
  • How Microsoft 365 acts on other domains' quarantine and reject policies depends on the Honor DMARC record policy when the message is detected as spoof setting in your anti-phishing policy

For the policy steps themselves, see DMARC policy, and for turning the XML into a list of senders, the DMARC report analyser guide. Mail you send to consumer Outlook.com, Hotmail and Live.com addresses has its own rules for high-volume senders, covered in Gmail, Yahoo and Outlook.com DMARC requirements.

How we help with DMARC on Microsoft 365

Getting a Microsoft 365 domain to enforcement is mostly about the services that send alongside Exchange Online. We can:

  • Check your domains: review the SPF, DKIM and DMARC records on your custom domains, subdomains, onmicrosoft.com domain and parked domains
  • Set up reporting: point your rua address at a DMARC platform so reports are processed from day one
  • Help you choose and supply a platform: EasyDMARC, Valimail or the Check Point DMARC Management add-on, depending on how you work
  • Work through your senders with you and plan each policy step to quarantine or reject, at a pace that suits you

EasyDMARC and Valimail licences can be billed monthly, with terms confirmed at quote. Ask us for a quote, or contact us for free advice on your tenant.

Frequently asked questions

Does Microsoft 365 set up DMARC automatically?

No. Microsoft configures SPF and DKIM for the initial onmicrosoft.com domain, but you create the DMARC record yourself: in the Microsoft 365 admin center for onmicrosoft.com, and at your DNS host for custom domains. Microsoft's DMARC guide (opens in a new tab) says there is no portal or PowerShell cmdlet for managing DMARC records on custom domains.

Do I need a DMARC record on my onmicrosoft.com domain?

Microsoft says yes. If you send from it, publish a DMARC record for it. If you don't, Microsoft recommends v=DMARC1; p=reject so nobody can send convincingly as that domain. It is added from the domain's page in the Microsoft 365 admin center.

Does Microsoft send DMARC reports?

Microsoft 365 sends aggregate reports to domains with a valid rua address when its customers' MX records point directly to Microsoft 365, and it does not send failure (ruf) reports. Outlook.com, the consumer service, also sends aggregate reports; Microsoft's high-volume sender post (opens in a new tab) says there are no plans to send ruf reports.

Should my Microsoft 365 SPF record end in -all or ~all?

Microsoft recommends -all (hard fail) for Microsoft 365 domains, because DKIM and DMARC are also in place and DMARC reports let you check the results. gov.uk asks public sector senders for at least ~all. DMARC treats either as an SPF failure.

Why does my Microsoft 365 mail fail DMARC?

The usual causes are DKIM not yet switched on for the custom domain, another service sending as your domain without aligned SPF or DKIM, or a gateway or signature tool changing messages after they are signed. Your aggregate reports show which source is failing. See DMARC fail for the fixes.

Still have a question about DMARC for Microsoft 365?

Ask us and a member of our team will get back to you.

Contact us for free advice or a quote

Next step

Want help moving your domains to DMARC enforcement?

Tell us what you need and we will come back to you with options and next steps.

  1. 1
    Tell us what you needA few lines is enough: your organisation, users or sites, and timescales.
  2. 2
    We read it and get back to youWith options and clear next steps.
  3. 3
    You decideChoose the option that suits you and we take it from there.

Send a quick enquiry

A few lines is enough.

About: DMARC for Microsoft 365

We use these details to reply to your enquiry. Privacy notice

Talk to us about DMARC for Microsoft 365

A few lines is enough.

We use these details to reply to your enquiry. Privacy notice
Talk to us aboutDMARC for Microsoft 365
Contact us