← Terug naar kennisbank E-MAIL

SPF, DKIM en DMARC instellen voor jouw domein

Drie korte DNS-records die bepalen of jouw mails aankomen of stilletjes in de spam belanden. Dit stappenplan legt uit wat ze doen, hoe je ze instelt, en waar het in de praktijk misgaat.

Sinds 2024 is e-mail-authenticatie geen "nice to have" meer. Google en Microsoft eisen sinds dat jaar SPF + DKIM + DMARC voor afzenders die meer dan 5.000 mails per dag versturen. Voor kleinere afzenders is het strikt genomen nog optioneel — maar in de praktijk verdwijnt jouw mail tussen "alle anderen die het wel goed hebben staan" en "de spam-mappen". Slecht nieuws als je sales-mails of factuur-bevestigingen verstuurt.

Goed nieuws: de drie records samen instellen kost minder dan een uur, en kan al een verschil van 60-80% in deliverability maken. Dit is wat ze doen, in volgorde van complexiteit.

Wat zijn SPF, DKIM en DMARC?

Heel kort, in mensentaal:

  • SPF (Sender Policy Framework) is een DNS-record waarin staat welke servers namens jouw domein mail mogen versturen. Ontvangers checken of de afzendende server in dat lijstje staat.
  • DKIM (DomainKeys Identified Mail) is een digitale handtekening die jouw mailserver aan elke mail toevoegt. Ontvangers verifiëren met een publieke sleutel (in DNS) of de inhoud onderweg niet is aangepast.
  • DMARC (Domain-based Message Authentication, Reporting and Conformance) is de overkoepelende policy. Daarin zeg je: "als SPF en DKIM falen, doe X" — bijvoorbeeld de mail in quarantaine zetten of weigeren.

Samen vertellen ze de wereld: "deze mail is écht van mij, en zo behandel je 'm als 'ie het niet is."

Waarom heb je alle drie nodig?

Elk record dekt een andere zwakte:

  • SPF zonder DKIM: een aanvaller die jouw domein wil spoofen kan makkelijk via een server mailen die in jouw SPF-lijst staat (sommige hostingproviders staan dit toe).
  • DKIM zonder SPF: e-mail die wordt geforward (klant stuurt het door naar Gmail) verliest soms zijn DKIM-signing — dan is er niets meer om op te leunen.
  • SPF + DKIM zonder DMARC: ontvangers zien dat één van de twee faalt, maar weten niet wat ze moeten doen. Resultaat: ze gokken, en die gok valt zelden in jouw voordeel.

Daarom: alle drie. In de juiste volgorde.

Voor je begint: wat heb je nodig?

  • Toegang tot je DNS-management (bij je domein-registrar, hosting-provider of een aparte DNS-host)
  • Weten welke servers jouw mail versturen — niet alleen je hoofd-mailserver, maar ook: je website-formulieren, factureringssoftware, nieuwsbrief-tools (Mailchimp, ActiveCampaign), helpdesk-tools, CRM-systemen
  • Beetje geduld — DNS-wijzigingen kunnen tot 24 uur duren voordat ze wereldwijd actief zijn
Belangrijk: inventariseer alle systemen die mail vanuit jouw domein versturen voor je begint. Vergeet je een dienst, dan komen die mails na het instellen van DMARC niet meer aan.

Stap 1: SPF instellen

SPF is de eenvoudigste van de drie. Je voegt één TXT-record toe aan je DNS waarin staat welke servers mail mogen versturen.

Een simpel voorbeeld voor een domein dat alleen via Microsoft 365 mailt:

Type: TXT
Naam: @  (of jouw-domein.nl)
Waarde: v=spf1 include:spf.protection.outlook.com -all

Een complexer voorbeeld dat meerdere bronnen toestaat:

v=spf1 include:_spf.google.com include:spf.mailgun.org ip4:185.12.34.56 -all

Wat de elementen betekenen:

  • v=spf1 — versie-aanduiding (altijd zo)
  • include: — verwijst naar een andere SPF-record (van bv. Google, Microsoft, Mailgun)
  • ip4: — voegt een specifiek IP-adres toe (bv. je eigen mailserver)
  • -all — alles wat niet in deze lijst staat: hard fail (afwijzen). Alternatief: ~all (soft fail, in spam) of ?all (neutraal — vermijd dit)
Maximum 10 DNS-lookups: SPF heeft een harde limiet van 10 include:-lookups. Tools als Mailchimp en SendGrid tellen al snel als 3-4 lookups. Boven de 10 wordt het record als ongeldig gezien — alle mails falen. Gebruik MXToolbox SPF Lookup om te checken hoeveel lookups je gebruikt.

Stap 2: DKIM instellen

DKIM is iets ingewikkelder, want het vraagt configuratie aan zowel je mailserver-kant als DNS-kant. De goede nieuws: de meeste mailservices genereren de juiste DNS-records voor je.

Globale werkwijze:

  1. Log in bij je e-mail provider (Microsoft 365, Google Workspace, je hosting control panel)
  2. Zoek de DKIM-instellingen op (in Microsoft 365: "Security & Compliance" → "Email authentication settings")
  3. Genereer een nieuwe DKIM-key voor je domein
  4. De service geeft je twee CNAME-records (of één TXT-record) — voeg die exact toe aan je DNS
  5. Wacht tot DNS-propagatie compleet is (vaak 1-4 uur)
  6. Activeer DKIM-signing in je mailservice

Een typisch DKIM-record ziet er zo uit:

Type: CNAME
Naam: selector1._domainkey
Waarde: selector1-jouwdomein-nl._domainkey.tenant.onmicrosoft.com

Of bij een TXT-variant:

Type: TXT
Naam: default._domainkey
Waarde: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQU...

De p= bevat de publieke sleutel — die mag iedereen zien. De private sleutel blijft op je mailserver.

Tip: Heeft je site een formulier dat mails verzendt (Contact Form 7, Gravity Forms, etc.)? Standaard verstuurt PHP mail() via de webserver — die heeft meestal géén DKIM. Gebruik een SMTP-plugin (WP Mail SMTP, FluentSMTP) om alle WordPress-mails via je echte mailserver te sturen, zodat ze óók DKIM-getekend worden.

Stap 3: DMARC instellen — begin in monitor-mode

DMARC is de policy die zegt wat ontvangers moeten doen als SPF of DKIM faalt. Hier is timing belangrijk: je wil niet meteen op p=reject springen, want dan kan een vergeten dienst meteen géén mail meer leveren.

Begin altijd met p=none (monitoring-mode):

Type: TXT
Naam: _dmarc
Waarde: v=DMARC1; p=none; rua=mailto:dmarc@jouwdomein.nl; pct=100

Wat dit doet:

  • p=none: niets doen, alleen rapporteren
  • rua=mailto:: stuur dagelijkse rapporten naar dit adres (zorg dat 'ie bestaat!)
  • pct=100: pas op 100% van de mails toe

Laat dit minimaal 2-4 weken zo staan. Tijdens die periode krijg je dagelijks XML-rapporten van Google, Microsoft en anderen die laten zien welke mails namens jouw domein worden verstuurd. Tools als dmarcian.com of Postmark's DMARC tool maken die rapporten leesbaar.

Pas als je zeker weet dat alles goed staat, ga je naar:

v=DMARC1; p=quarantine; rua=mailto:dmarc@jouwdomein.nl; pct=25

En na 1-2 weken zonder issues:

v=DMARC1; p=reject; rua=mailto:dmarc@jouwdomein.nl; pct=100

p=reject is het einddoel: alle mails die SPF en DKIM falen worden geweigerd. Spoofing van jouw domein wordt dan onmogelijk.

Stap 4: Testen

Drie tools om alles te verifiëren:

  • MXToolbox — check elk record apart (SPF Lookup, DKIM Lookup, DMARC Lookup)
  • mail-tester.com — stuur een test-mail naar het opgegeven adres, krijg een complete deliverability-score met SPF/DKIM/DMARC checks
  • Stuur jezelf een mail van je domein naar een Gmail-adres — open de mail, klik "Show original" / "Origineel weergeven". Je zoekt naar "PASS" bij spf=, dkim= en dmarc=

Als alle drie op PASS staan, ben je klaar.

Veelvoorkomende fouten

Meerdere SPF-records

Je mag maar één SPF-record per domein hebben. Heb je er twee (bv. omdat je later Mailchimp toevoegde en een tweede record aanmaakte) — dan negeren ontvangers ze allebei. Voeg in plaats daarvan een extra include: toe aan je bestaande record.

Vergeten subdomeinen

SPF werkt per subdomein. Als je vanuit nieuwsbrief.jouwdomein.nl mailt, heeft dat subdomein een eigen SPF-record nodig. DMARC erft wel naar subdomeinen, maar SPF en DKIM doen dat niet automatisch.

Te snel naar p=reject

De grootste blunder: meteen op reject zetten zonder eerst monitor-mode. Resultaat: 2 dagen later belt een klant dat 'ie geen factuur-mails meer krijgt. Geduld is hier echt een schone zaak.

DMARC-rapporten naar een actief inbox

Je krijgt dagelijks 5-50 XML-rapporten. Maak een apart adres (bv. dmarc@jouwdomein.nl) en stuur het door naar een DMARC-rapportage-tool. Ze handmatig lezen is masochisme.

Hardcoded SPF in WordPress

Plugins als WP Mail SMTP slaan soms je from-adres hardcoded op. Wijzig je later iets aan je mail-config zonder het in de plugin door te voeren, dan vallen je formulier-mails buiten SPF.

Wanneer schakel je hulp in?

  • Je hebt meer dan 5 mail-bronnen voor één domein (Google + nieuwsbrief + factuur-tool + helpdesk + CRM)
  • SPF-record overschrijdt de 10-lookup-limiet en je weet niet hoe te flatten
  • DMARC-rapporten tonen patronen die je niet begrijpt
  • Mails komen na alles ingesteld te hebben nog steeds niet aan bij specifieke ontvangers
  • Je hebt last gehad van een spoofing-incident en wil het écht goed dichttimmeren

E-mail-authenticatie is één van die domeinen waar 80% van het werk in 20% van de gevallen zit — maar die laatste 20% kan een dag puzzelen kosten. Doe de eerste 80% gerust zelf, en haak hulp in als je vastloopt.

Liever laten instellen?

Ik (Daniel Mulder, WPTS) stel SPF, DKIM en DMARC vrijwel wekelijks in voor Nederlandse MKB-sites — van eenvoudige setups met één mailbron tot complexe situaties met meerdere tools, subdomeinen en afwijkende DMARC-rapporten. Inclusief inventarisatie van alle mail-bronnen, monitoring-setup en documentatie. Neem contact op via wpts.nl of info@wpts.nl.