mindflayer
Hive Mind
Actively exploited
  • Recently added vulnerabilities that are being exploited in the wild, from CISA's Known Exploited Vulnerabilities catalog.

Source: CISA KEV catalog (opens in new tab). EPSS: estimated chance of exploitation in the next 30 days, from FIRST.org (opens in new tab). Information only, not advice for your environment. Talk to us if you're affected.

Provider incidents

From each provider's public status page, checked every 3 hours. Microsoft 365 shows the public consumer feed; business tenants should check their admin center.

Join the Hive Mind

The full daily brief by email: 5 to 10 exploited vulnerabilities, outages and headlines, in one short read.

What you get, and Pro →
Guide · Microsoft 365 · Updated November 2026

How to set up SPF, DKIM and DMARC for Microsoft 365

If your company uses Microsoft 365 for email, three DNS records decide whether criminals can send email that looks like it came from you. This guide sets them up in the safe order, then adds the extras that earn an A on our checker.

Check your work.

Run your domain through our free email & domain security check. It reads the same records and tells you what's still missing.

Before you start

In the examples below, replace yourdomain.com with your domain.

Step 1: SPF (who may send as you)

SPF is one TXT record at the root of your domain (host @) that lists the services allowed to send your email. For Microsoft 365 alone:

v=spf1 include:spf.protection.outlook.com ~all

If other services send as you, add the include: value each one documents, before the ~all. For example: v=spf1 include:spf.protection.outlook.com include:other-service.example ~all

Step 2: DKIM (signed email)

DKIM adds a cryptographic signature to every message, so receivers can tell it really came from you and wasn't altered.

  1. In the Microsoft Defender portal, go to Email & collaboration → Policies & rules → Threat policies → Email authentication settings, then the DKIM tab.
  2. Select your domain. Microsoft shows two CNAME records, for hosts selector1._domainkey and selector2._domainkey.
  3. Copy both values exactly into your DNS host. The target format differs between older and newer tenants, so don't copy it from another guide. If you use Cloudflare, set both to DNS only (grey cloud).
  4. Wait for DNS to update (usually minutes, sometimes an hour), then turn on Sign messages for this domain with DKIM signatures. If you see "CNAME record does not exist", wait and try again.

Every third-party service that sends as you should also sign with DKIM for your domain. Look for "domain authentication" or "custom sending domain" in each service's settings.

Step 3: DMARC in monitoring mode

DMARC tells receivers what to do with mail that fails SPF and DKIM, and sends you reports about who is sending as your domain. Start in monitoring mode. Add a TXT record with host _dmarc:

v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com

Create that mailbox first (a shared mailbox or group works well). Reports arrive daily as zipped XML files that are hard to read raw, so most teams forward them to a DMARC report service; several have free tiers for small domains.

For 2–4 weeks, look for legitimate services that fail. Fix each one by adding it to SPF or setting up its DKIM. Ignore unknown senders you don't recognize: that's usually spoofing, which is exactly what enforcement will block.

Step 4: Enforce DMARC

When the reports show your real senders passing, tighten the policy in two steps:

v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@yourdomain.com

Leave quarantine in place for 1–2 weeks. Failing mail goes to spam rather than disappearing, so mistakes are recoverable. Then move to full enforcement:

v=DMARC1; p=reject; rua=mailto:dmarc-reports@yourdomain.com

Now change SPF from ~all to -all. At this point, email forged from your domain is blocked by Gmail, Outlook, Yahoo and most business mail systems. Large mailbox providers already require SPF, DKIM and DMARC from bulk senders, so this also protects your deliverability.

Step 5: Extras for an A

MTA-STS (forces encrypted delivery to you)

Two parts. A TXT record with host _mta-sts:

v=STSv1; id=20261112

And a policy file served over HTTPS at https://mta-sts.yourdomain.com/.well-known/mta-sts.txt:

version: STSv1
mode: testing
mx: *.mail.protection.outlook.com
max_age: 86400

Use the mx pattern that matches your MX record: if it ends in mx.microsoft rather than mail.protection.outlook.com, use mx: *.mx.microsoft. You can list more than one mx line. After a few weeks of clean TLS reports, change mode to enforce, raise max_age to 604800, and change the id in the TXT record (any new value, such as today's date) so senders fetch the new policy.

TLS reporting

TXT record with host _smtp._tls:

v=TLSRPTv1; rua=mailto:tls-reports@yourdomain.com

DNSSEC

Turn on DNSSEC at your DNS host. If your registrar is a different company, copy the DS record it gives you into your registrar's DNSSEC settings. With Cloudflare, it's one click plus that one copy.

CAA

CAA records limit which certificate authorities can issue HTTPS certificates for your domain. Add one CAA record (host @) for each authority you actually use, for example 0 issue "letsencrypt.org". Check which ones your website host uses first.

Domains that never send email

Parked and redirect-only domains get spoofed too. Lock them down with SPF v=spf1 -all, DMARC v=DMARC1; p=reject; and a "null MX" record (MX priority 0, host .).

Common mistakes

MistakeWhat happensFix
Two SPF recordsSPF fails for all mailMerge into one v=spf1 record
Jumping straight to p=rejectA forgotten sender's mail (invoices, payroll) is silently blockedMonitor first, then quarantine, then reject
Leaving p=none foreverYou get reports, but fakes are still deliveredSet a date to enforce
DKIM CNAMEs proxied through CloudflareMicrosoft can't verify the records, so DKIM won't turn onSet them to DNS only
Signing only with the onmicrosoft.com domainDKIM doesn't align with your domain, so DMARC relies on SPF aloneEnable DKIM for your custom domain
No report mailboxDMARC reports bounce and you're flying blindCreate the rua mailbox before publishing
Check your work.

Run your domain through our free email & domain security check. It reads the same records and tells you what's still missing.

Rather have it done for you?

Our Email & Domain Security Setup service covers every step in this guide, rolled out safely so legitimate mail keeps flowing. Request a quote.