PepperTools Gids
Techniek & servers

E-mail goed instellen: SPF, DKIM en DMARC voor beginners (Deel 3 van 3)

Deel 3 van de serie „Eigen server – van 0 naar veilig": SPF, DKIM en DMARC instellen zodat je e-mails veilig worden afgeleverd en niet in de spam belanden. Met DNS-records om te kopiëren, OpenDKIM op je eigen server en gratis testtools.

E-mail goed instellen: SPF, DKIM en DMARC voor beginners (Deel 3 van 3)

E-mail goed instellen: SPF, DKIM en DMARC voor beginners (Deel 3 van 3)

Serie „Eigen server – van 0 naar veilig" · 3 delen:

  1. Een Debian-vServer instellen & beveiligen
  2. Froxlor installeren & configureren
  3. E-mail goed instellen: SPF, DKIM & DMARCJe 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.

SPF, DKIM und DMARC für Einsteiger

Inhoud


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.
  • -allalle andere mogen niet verzenden (strenge variant). Twijfel je of gebruik je extra diensten (nieuwsbrief, CRM), begin dan met de zachtere variant ~all en 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=noneobserveren, 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=reject beginnen! 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

ProbleemOorzaakOplossing
Mails belanden nog in de spamDNS nog niet doorgevoerdenkele uren wachten, met MXToolbox controleren
SPF „PermError"meer dan één SPF-recordalle vermeldingen samenvoegen tot één SPF-record
DKIM „fail"verkeerde/onvolledige p=-waardevolledige waarde uit mail.txt exact overnemen (zonder regeleinden)
DMARC zonder effecttypfout in de naamrecord moet exact _dmarc heten
Geen DMARC-rapportenrua-mailbox bestaat nietadres dmarc@jouw-domein.nl aanmaken

Checklist

  • [ ] SPF-TXT-record aanwezig (precies één), eindigt op -all of ~all
  • [ ] OpenDKIM geïnstalleerd, met Postfix verbonden, diensten opnieuw gestart
  • [ ] DKIM-TXT-record (mail._domainkey) gepubliceerd, opendkim-testkey meldt „key OK"
  • [ ] DMARC-TXT-record (_dmarc) met p=none actief
  • [ ] 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

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

Taalversies