DMARC, DKIM en SPF instellen bij Microsoft 365

Microsoft 365 beveiligt je eigen domein niet vanzelf. Hier lees je in welke volgorde je SPF, DKIM en DMARC instelt, welke records je precies nodig hebt en waar het in de praktijk misgaat.

E-mail7 min lezen
Een crèmekleurige envelop met een koraalrood lakzegel op donkere steen

In welke volgorde stel je SPF, DKIM en DMARC in?

SPF, DKIM en DMARC zijn drie tekstregels in de DNS van je domein. Microsoft 365 regelt SPF en DKIM alleen voor het domein dat eindigt op onmicrosoft.com, en DMARC zelfs daar niet. Voor je eigen domein, zoals jouwdomein.nl, moet je zelf aan de slag.

De volgorde doet ertoe. DMARC kijkt of SPF of DKIM slaagt voor jouw domein. Zet je DMARC neer voordat die twee kloppen, dan meet je vooral je eigen fouten. Dus eerst SPF, dan DKIM, dan DMARC.

Waarom nu? Sinds 5 mei 2025 stelt Microsoft eisen aan domeinen die meer dan 5.000 mails per dag naar Outlook.com, Hotmail en Live sturen: SPF en DKIM moeten slagen, er moet een DMARC-record staan met minstens p=none en de domeinen moeten op elkaar aansluiten. Anders volgt een weigering met de code 550 5.7.515. Stuur je minder, dan blijft het tweede probleem: zonder DMARC kan iedereen mail versturen die van jouw adres lijkt te komen.

Weet je niet hoe je domein er nu voor staat? Doe eerst de gratis DMARC-check. Die leest je SPF, DKIM en DMARC uit, ziet aan je MX-record dat je mail via Microsoft 365 loopt en laat zien welke stap ontbreekt.

Waar zet je de records?

Niet in Microsoft 365, maar bij de partij waar de DNS van je domein staat. Meestal is dat je hoster of de partij waar je je domein hebt geregistreerd. Bij drie Nederlandse partijen moet je op iets letten.

Stap 1: het SPF-record voor Office 365

Veel mensen kennen Microsoft 365 nog als Office 365. Het SPF-record is hetzelfde. Mail je alleen via Microsoft 365, dan zet je één TXT-record op je hoofddomein (host @):

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

Microsoft heeft hier geen knop voor, je maakt het zelf aan bij je DNS-host. Microsoft raadt -all aan het eind aan en een TTL van minstens 3600 seconden. Zie ook de SPF-handleiding van Microsoft.

Mailt er nog iets anders namens je domein, zoals een eigen server, dan komt dat in hetzelfde record:

v=spf1 ip4:192.0.2.10 include:spf.protection.outlook.com -all

Drie regels die je niet mag breken:

Microsoft raadt aan bulkmail, zoals nieuwsbrieven, liever via een subdomein te versturen.

Stap 2: DKIM instellen in Microsoft 365

Hier zit de valkuil: Microsoft ondertekent je eigen domein niet vanzelf, alleen het onmicrosoft.com-domein. We noemen de Engelse menunamen, zoals Microsoft ze in zijn handleiding gebruikt.

  1. Ga naar security.microsoft.com > Email & collaboration > Policies & rules > Threat policies > Email authentication settings > tabblad DKIM. Of open de DKIM-pagina direct.
  2. Klik op je domein. Zet je de schakelaar nu al aan, dan krijg je "Client error" of CnameMissing. Dat klopt: de records staan er nog niet.
  3. Kopieer de twee waarden onder Publish CNAMEs.
  4. Maak bij je DNS-host twee CNAME-records aan met die waarden.
  5. Wacht. Dat duurt minuten tot 48 uur. Zet daarna Sign messages for this domain with DKIM signatures aan. De status wordt "Signing DKIM signatures for this domain".

De hostnamen zijn altijd selector1._domainkey en selector2._domainkey. Waar ze naar wijzen, verschilt per domein. Daar bestaan twee formaten van.

Nieuw formaat, voor domeinen die sinds mei 2025 zijn toegevoegd:

selector1-contoso-com._domainkey.contoso.n-v1.dkim.mail.microsoft

Oud formaat, voor domeinen die er al langer in staan:

selector1-contoso-com._domainkey.contoso.onmicrosoft.com

Contoso is de voorbeeldnaam die Microsoft gebruikt. Neem deze regels dus nooit over. In het nieuwe formaat staat bovendien een letter voor -v1, hier de n, die je niet kunt raden. Kopieer de waarden altijd uit je eigen portal. Meer in de DKIM-handleiding van Microsoft.

Werk je liever met PowerShell, dan gaat het zo. Tussen de tweede en de derde regel publiceer je de twee CNAMEs die de tweede regel toont.

New-DkimSigningConfig -DomainName jouwdomein.nl -Enabled $false -KeySize 2048
Get-DkimSigningConfig -Identity jouwdomein.nl | fl Selector1CNAME,Selector2CNAME
Set-DkimSigningConfig -Identity jouwdomein.nl -Enabled $true

Stap 3: het DMARC-record voor Microsoft 365

Kloppen SPF en DKIM, dan zet je DMARC neer. Dat is een TXT-record op de host _dmarc. Begin zo:

v=DMARC1; p=none; rua=mailto:dmarc@jouwdomein.nl

Met p=none houden ontvangers nog niets tegen. Je krijgt wel rapporten op het adres achter rua. Daarin zie je welke servers namens je domein mailen en of ze slagen. Zo komen vergeten afzenders boven water: het contactformulier op je website, je boekhoudpakket, je nieuwsbriefdienst.

Daarna schakel je op:

  1. p=none met rapporten, tot al je echte mail slaagt.
  2. p=quarantine: mail die niet slaagt, gaat naar de spam.
  3. p=reject: mail die niet slaagt, wordt geweigerd. Dit is het doel.

Microsoft noemt geen vaste wachttijd tussen de stappen. Ga pas verder als de rapporten schoon zijn. Zie ook de DMARC-handleiding van Microsoft.

Stuur je de rapporten naar een adres op een ander domein, dan moet dat andere domein daar toestemming voor geven. Dat doet het met een TXT-record op de host jouwdomein.nl._report._dmarc met als waarde v=DMARC1;.

Vergeet het onmicrosoft.com-domein niet

Elke Microsoft 365-omgeving heeft ook een domein als jouwbedrijf.onmicrosoft.com. SPF en DKIM regelt Microsoft daar zelf, DMARC niet. Dat record zet je in het beheercentrum:

  1. Ga naar admin.microsoft.com > Show all > Settings > Domains.
  2. Kies je onmicrosoft.com-domein, open DNS records en klik op Add record.
  3. Maak een TXT-record op _dmarc met deze waarde:
v=DMARC1; p=reject

Hier gebruik je meteen reject, want SPF en DKIM staan voor dit domein al goed.

Veelgemaakte fouten bij SPF, DKIM en DMARC

Controleren met onze check en internet.nl

Klaar? Laat het nameten. Onze DMARC-check kijkt of er één SPF-record is met niet meer dan tien opzoekingen, of er een DKIM-sleutel te vinden is en in welke stand je DMARC staat. De DKIM-namen die Microsoft 365 gebruikt, kent hij.

Daarnaast is er de mailtest van internet.nl. Die is strenger. Staat je DMARC nog op p=none, dan noemt internet.nl dat niet voldoende strikt. In de startfase is dat te verwachten. Pas bij quarantine of reject keurt de test je DMARC goed. Voor DKIM kijkt internet.nl alleen of er onder _domainkey iets antwoordt.

Liever uitbesteden?

Het zijn een paar regels, maar een fout kost je mail. Wij zetten SPF, DKIM en DMARC voor je goed, zoeken uit welke diensten namens je domein mailen en schakelen DMARC stap voor stap op naar reject. Voor een vaste prijs die je vooraf weet. Je praat met Nick of Remko, de mensen die het ook doen. Neem contact op.

Hoe staat jouw domein ervoor?

Onze gratis DMARC-check leest in een paar seconden je SPF, DKIM en DMARC uit en laat zien welke stap bij Microsoft 365 nog ontbreekt.

Check je domein

Veelgestelde vragen

Is DMARC instellen bij Office 365 anders dan bij Microsoft 365?

Nee. Office 365 is de oudere naam, en sommige handleidingen gebruiken hem nog. Het SPF-record is v=spf1 include:spf.protection.outlook.com -all, DKIM zet je aan in de Defender-portal en DMARC is een TXT-record op _dmarc bij je DNS-host.

Waarom krijg ik CnameMissing als ik DKIM aanzet?

Omdat Microsoft de twee CNAME-records nog niet ziet. Staan ze er nog niet, maak ze dan aan met de waarden onder Publish CNAMEs. Staan ze er wel, wacht dan: het kan tot 48 uur duren. Controleer ook of je de waarden uit je eigen portal hebt gekopieerd en niet uit een voorbeeld.

Hoe lang moet DMARC op p=none blijven staan?

Microsoft noemt geen vaste termijn. Ga naar quarantine als de rapporten laten zien dat al je echte afzenders slagen, zoals je website, je boekhoudpakket en je nieuwsbrief. Daarna volgt reject.

Moet ik -all of ~all gebruiken in mijn SPF-record?

Voor Microsoft 365 raadt Microsoft -all aan. De mailtest van internet.nl keurt zowel -all als ~all goed. Belangrijker is dat je maar één SPF-record hebt en onder de tien opzoekingen blijft.

Mijn domein verstuurt geen mail. Moet ik dan iets doen?

Ja. Zet een SPF-record v=spf1 -all neer, dan mag geen enkele server namens dat domein mailen. Het NCSC adviseert daarnaast DMARC op reject, ook voor domeinen die niet mailen. Dan houden de grote mailpartijen mail tegen die zich voordoet als dat domein.