E-mail goed instellen: SPF, DKIM en DMARC voor beginners (Deel 3 van 3)
Serie „Eigen server – van 0 naar veilig" · 3 delen:
- Een Debian-vServer instellen & beveiligen
- Froxlor installeren & configureren
- E-mail goed instellen: SPF, DKIM & DMARC ← Je bent hier
Deze gids is Deel 3 en sluit de serie af. Hij gaat uit van een server met mailserver, zoals Deel 1 en Deel 2 die hebben opgebouwd.

Inhoud
- Vereisten
- Wat zijn SPF, DKIM en DMARC?
- Stap 1: SPF instellen
- Stap 2: DKIM instellen (op je eigen server ondertekenen)
- Stap 3: DMARC instellen
- Stap 4: Alles controleren en testen
- Veelvoorkomende fouten en oplossingen
- Checklist
- Veelgestelde vragen (FAQ)
- Conclusie
- Bronnen
In het kort: SPF, DKIM en DMARC zijn drie records in de DNS van je domein. Ze bewijzen dat een e-mail echt van jou komt. Zonder die records belanden je berichten vandaag vaak in de spam – of worden ze helemaal geweigerd. Sinds 2024 eisen Google en Yahoo deze authenticatie, Microsoft sinds 2025. De installatie duurt 20–30 minuten.
Als je via je eigen server e-mails verstuurt (bijv. facturen of berichten uit een contactformulier), is het niet genoeg om „gewoon" een mailserver te draaien. Je moet de ontvangende servers ook bewijzen dat de mail echt is. Daarvoor zijn er drie bouwstenen. We richten ze alle drie in – beginnersvriendelijk en om te kopiëren.
Vereisten
- Een server met mailserver (Postfix/Dovecot), bijv. via Froxlor uit Deel 2 ingericht.
- Toegang tot het DNS-beheer van je domein – het gedeelte bij je domeinaanbieder (of in Froxlor, als je daar DNS beheert) waar je „TXT-records" kunt aanmaken.
- Het IP-adres van je server.
Belangrijk – juiste volgorde: Stel eerst SPF en DKIM in en wacht tot beide actief zijn (minstens enkele uren) voordat je DMARC scherp zet. En start DMARC altijd met de zachte instelling
p=none.
Wat zijn SPF, DKIM en DMARC?
Drie eenvoudige beelden:
- SPF is de gastenlijst. Het bepaalt welke servers in jouw naam e-mails mogen versturen. Staat de verzendende server niet op de lijst, dan is de mail verdacht.
- DKIM is de digitale handtekening. Elke uitgaande mail wordt cryptografisch ondertekend. De ontvanger controleert of hij echt is en onderweg niet is gewijzigd.
- DMARC is het regelwerk. Het vertelt de ontvanger wat er moet gebeuren als SPF of DKIM mislukt: doorlaten, naar de spam verplaatsen of weigeren. En het stuurt je rapporten.
Alle drie zijn technisch gezien gewoon TXT-records in de DNS – behalve de DKIM-sleutel, die we op de server genereren. Een heel goede, uitgebreide uitleg biedt de gids van Mailvergleich.de.
Stap 1: SPF instellen
SPF is één enkel TXT-record dat je in de DNS van je domein aanmaakt. Ga naar het DNS-beheer en maak een nieuw record aan:
Type: TXT
Naam: @ (staat voor het hoofddomein)
Waarde: v=spf1 a mx ip4:SERVER-IP -all
Vervang SERVER-IP door het IP van je server. Wat de onderdelen betekenen:
v=spf1– versie-aanduiding (altijd vooraan).a mx– servers waarnaar de A- en MX-records van het domein verwijzen mogen verzenden.ip4:SERVER-IP– dit concrete IP mag verzenden.-all– alle andere mogen niet verzenden (strenge variant). Twijfel je of gebruik je extra diensten (nieuwsbrief, CRM), begin dan met de zachtere variant~allen zet later om naar-all.
Slechts één SPF-record! Een domein mag precies één SPF-TXT-record hebben. Gebruik je meer diensten, voeg hun
include:-vermeldingen dan toe aan dit ene record, bijv.v=spf1 a mx include:_spf.example.com -all.
Stap 2: DKIM instellen (op je eigen server ondertekenen)
Anders dan bij een gehuurde mailbox moet je DKIM op je eigen server zelf genereren. We gebruiken daarvoor OpenDKIM, dat zich in Postfix nestelt en elke uitgaande mail ondertekent.
2.1 OpenDKIM installeren:
sudo apt install -y opendkim opendkim-tools
2.2 Sleutel genereren (vervang jouw-domein.nl):
sudo mkdir -p /etc/opendkim/keys/jouw-domein.nl
sudo opendkim-genkey -b 2048 -d jouw-domein.nl -D /etc/opendkim/keys/jouw-domein.nl -s mail -v
sudo chown -R opendkim:opendkim /etc/opendkim
2.3 OpenDKIM configureren. Open de hoofdconfiguratie:
sudo nano /etc/opendkim.conf
Voeg onderaan toe:
Canonicalization relaxed/simple
Mode sv
Socket inet:8891@localhost
KeyTable /etc/opendkim/KeyTable
SigningTable /etc/opendkim/SigningTable
ExternalIgnoreList /etc/opendkim/TrustedHosts
InternalHosts /etc/opendkim/TrustedHosts
Maak de drie tabellen aan:
echo "mail._domainkey.jouw-domein.nl jouw-domein.nl:mail:/etc/opendkim/keys/jouw-domein.nl/mail.private" | sudo tee /etc/opendkim/KeyTable
echo "*@jouw-domein.nl mail._domainkey.jouw-domein.nl" | sudo tee /etc/opendkim/SigningTable
printf "127.0.0.1\nlocalhost\njouw-domein.nl\n" | sudo tee /etc/opendkim/TrustedHosts
2.4 OpenDKIM met Postfix verbinden. Open de Postfix-configuratie:
sudo nano /etc/postfix/main.cf
Voeg onderaan toe:
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Diensten opnieuw starten:
sudo systemctl restart opendkim postfix
2.5 Het DKIM-DNS-record publiceren. OpenDKIM heeft je publieke sleutel in een bestand geschreven. Laat het tonen:
sudo cat /etc/opendkim/keys/jouw-domein.nl/mail.txt
Je ziet een lange waarde in de vorm v=DKIM1; k=rsa; p=.... Maak daarmee in de DNS een TXT-record aan:
Type: TXT
Naam: mail._domainkey
Waarde: v=DKIM1; k=rsa; p=MIIBI... (de volledige p=-waarde uit het bestand)
Een geïllustreerde stap-voor-stap-hulp voor DKIM vind je ook bij saschafix.de.
Stap 3: DMARC instellen
DMARC verbindt SPF en DKIM en legt de regel vast. Maak in de DNS nog een TXT-record aan:
Type: TXT
Naam: _dmarc
Waarde: v=DMARC1; p=none; rua=mailto:dmarc@jouw-domein.nl; fo=1
Betekenis:
p=none– observeren, maar niets blokkeren. Zo begin je altijd, om te zien of alles netjes loopt zonder legitieme mails in gevaar te brengen.rua=mailto:dmarc@jouw-domein.nl– naar dit adres sturen ontvangers dagelijkse rapporten. Maak deze mailbox aan.fo=1– uitgebreidere foutrapporten.
Stap voor stap scherper zetten: Als de rapporten na een of twee weken laten zien dat je echte mails SPF/DKIM doorstaan, verhoog je de strengheid – eerst naar p=quarantine (verdachte mails in de spam), later naar p=reject (verdachte mails weigeren):
v=DMARC1; p=quarantine; rua=mailto:dmarc@jouw-domein.nl; fo=1
Nooit met
p=rejectbeginnen! Anders riskeer je dat ook legitieme mails (bijv. van nieuwsbrief- of CRM-diensten) worden geweigerd.
Stap 4: Alles controleren en testen
DNS-wijzigingen hebben even tijd nodig (vaak minuten, soms tot 24 uur). Controleer je opzet daarna met gratis tools:
- MXToolbox – controleert SPF-, DKIM- en DMARC-records afzonderlijk (kies bovenaan „SPF Record Lookup", „DKIM Lookup", „DMARC Lookup").
- mail-tester.com – stuur een echte testmail naar het getoonde adres; doel is een score van minstens 8/10.
- Gmail-header controleren: stuur jezelf een mail naar een Gmail-account, open hem, klik op de drie puntjes → „Origineel weergeven". Daar zou bij SPF, DKIM en DMARC telkens „PASS" moeten staan.
De DKIM-test rechtstreeks op de server kun je extra zo doen:
sudo opendkim-testkey -d jouw-domein.nl -s mail -vvv
Verschijnt „key OK", dan is de sleutel correct gepubliceerd.
Veelvoorkomende fouten en oplossingen
| Probleem | Oorzaak | Oplossing |
|---|---|---|
| Mails belanden nog in de spam | DNS nog niet doorgevoerd | enkele uren wachten, met MXToolbox controleren |
| SPF „PermError" | meer dan één SPF-record | alle vermeldingen samenvoegen tot één SPF-record |
| DKIM „fail" | verkeerde/onvolledige p=-waarde | volledige waarde uit mail.txt exact overnemen (zonder regeleinden) |
| DMARC zonder effect | typfout in de naam | record moet exact _dmarc heten |
| Geen DMARC-rapporten | rua-mailbox bestaat niet | adres dmarc@jouw-domein.nl aanmaken |
Checklist
- [ ] SPF-TXT-record aanwezig (precies één), eindigt op
-allof~all - [ ] OpenDKIM geïnstalleerd, met Postfix verbonden, diensten opnieuw gestart
- [ ] DKIM-TXT-record (
mail._domainkey) gepubliceerd,opendkim-testkeymeldt „key OK" - [ ] DMARC-TXT-record (
_dmarc) metp=noneactief - [ ] mail-tester.com toont ≥ 8/10
- [ ] Gmail „Origineel weergeven": SPF, DKIM, DMARC = PASS
- [ ] Na een of twee weken DMARC verhoogd naar
quarantine/reject
Veelgestelde vragen (FAQ)
Is SPF alleen niet genoeg? Nee. Google, Yahoo en Microsoft eisen minstens SPF of DKIM, maar voor de beste bescherming en aflevering richt je alle drie in.
Wat is het verschil tussen ~all en -all? ~all („soft fail") markeert niet-vermelde afzenders alleen als verdacht, -all („hard fail") weigert ze strikt. Begin bij twijfel met ~all en zet later om naar -all.
Zijn DMARC-rapporten privacygevoelig? De geaggregeerde rapporten (rua) bevatten geen mailinhoud, maar statistieken over IP-adressen en authenticatieresultaten. Forensische rapporten (ruf) kunnen meer bevatten – velen zien daarom om AVG-redenen af van ruf.
Moet ik dit regelmatig onderhouden? Eenmaal ingesteld, loopt het. Kijk in het begin in de DMARC-rapporten en verhoog de strengheid stapsgewijs.
Conclusie
In drie stappen heb je je e-mails veilig gemaakt: SPF bepaalt wie mag verzenden, DKIM ondertekent elk bericht, DMARC bepaalt de regel en levert rapporten. Belangrijk is de volgorde – eerst SPF en DKIM, dan DMARC, en DMARC altijd met p=none beginnen. Na de test bij mail-tester.com weet je dat je mails aankomen.
Daarmee is de serie compleet: je hebt in Deel 1 een veilige server opgezet, in Deel 2 Froxlor geïnstalleerd en hier de e-mailverzending beveiligd.
Wil je zoiets niet zelf beheren, maar een kant-en-klare oplossing of maatwerkontwikkeling? PepperTools helpt je – meld je via het contactformulier.
Bronnen
- Mailvergleich.de: SPF, DKIM & DMARC instellen
- saschafix.de: SPF, DKIM & DMARC instellen
- Google Workspace: e-mailauthenticatie
- MXToolbox (testtools) · mail-tester.com
- OpenDKIM (projectpagina)
Stand: juni 2026. Commando's en eisen van de grote mailaanbieders kunnen veranderen – maatgevend zijn hun officiële aanwijzingen en de documentatie van de gebruikte software.
Facturen eenvoudiger beheren
Easy Invoice combineert offertes, facturen en klantenbeheer in de cloud.
Easy Invoice proberen