Verstuurt u mail vanaf uw eigen domein, dan hoort daar een DKIM-configuratie in DNS bij. Een correct DKIM-record draagt bij aan de authenticatie en kan de afleverbaarheid ondersteunen. Zonder DKIM-handtekening kan de ontvanger niet via DKIM controleren of de ondertekende inhoud onderweg is gewijzigd. Google, Yahoo en Microsoft stellen DKIM-eisen aan bulkverzenders; ook bij kleinere volumes is het een belangrijk authenticatiesignaal.
Deze gids doorloopt het hele proces: sleutels genereren, het DNS-record publiceren, ondertekening inschakelen en de werking controleren. Alleen de stappen, syntaxis en valkuilen. Of u records handmatig maakt of een beheerd platform gebruikt, de basisprincipes blijven hetzelfde.
Wat is een DKIM-record?
Een DKIM-record is een DNS-TXT-record met het openbare deel van een cryptografisch sleutelpaar. Uw mailserver ondertekent uitgaande berichten met de privésleutel. De ontvanger haalt de openbare sleutel uit DNS en controleert de handtekening. Daarmee kan hij de autorisatie door het ondertekenende domein vaststellen en wijzigingen aan de ondertekende headers en inhoud detecteren. DKIM is vastgelegd in RFC 6376 en vormt een belangrijke basis van moderne mailauthenticatie.
Een DKIM-record maken in 4 stappen
Stap 1: genereer uw DKIM-sleutelpaar
Voordat u het record maakt, hebt u een sleutelpaar nodig: een privésleutel die op het verzendsysteem blijft en een openbare sleutel die in DNS komt. Hoe u die genereert, hangt af van uw inrichting.
Gebruikt u een gehoste e-maildienst zoals Google Workspace, Microsoft 365 of Zoho, dan levert de provider doorgaans de sleutelgegevens en DNS-instructies. Kopieer het opgegeven record. Ga in Google Workspace naar Admin Console > Apps > Google Workspace > Gmail > Authenticate Email en kies “Generate new record”.
Beheert u uw eigen mailserver met Postfix, Exim of OpenDKIM, genereer het paar dan via de opdrachtregel:
openssl genrsa -out dkim_private.pem 2048
openssl rsa -in dkim_private.pem -pubout -out dkim_public.pem
Gebruik sleutels van 2048 bits waar ondersteund. Oudere handleidingen noemen soms 1024 bits. Die lengte is in 2026 een minder sterke keuze; hoe ontvangers handtekeningen van 1024 bits beoordelen, kan verschillen.
Kies ook een selector: een label dat deze sleutel identificeert. Selectors maken sleutelrotatie of afzonderlijke sleutels per dienst mogelijk. Gebruikelijke namen zijn google, s1, mail2026 of een dienstnaam zoals sendgrid.
Stap 2: voeg de openbare sleutel toe aan DNS
Hier publiceert u het DKIM-record in de DNS-zone van uw domein. Meld u aan bij uw DNS-provider, bijvoorbeeld Cloudflare, Route 53, GoDaddy of Namecheap, en maak een TXT-record aan volgens de instructies van uw verzendsysteem. Sommige providers gebruiken in plaats daarvan CNAME.
Veld Host/Naam:
selector._domainkey.yourdomain.com
Vervang selector door de naam uit stap 1. Is uw selector s1 en uw domein example.com, dan is de volledige recordnaam:
s1._domainkey.example.com
Veld Waarde:
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2K4PavXoNY8eGK2u...truncated...base64encodedpublickey
De tag p= bevat uw volledige openbare sleutel als base64-string. Verwijder de PEM-kopregels, zoals -----BEGIN PUBLIC KEY-----, en regeleinden. De sleutelgegevens moeten één doorlopende tekenreeks vormen.
Belangrijk: Een afzonderlijke DNS-TXT-string heeft een grens van 255 tekens. Bij een sleutel van 2048 bits moet de waarde daarom in meerdere delen passen. Sommige providers splitsen die automatisch in geciteerde strings; andere vereisen dat u zelf delen van maximaal 255 tekens tussen dubbele aanhalingstekens invoert. Bij verwerking worden de delen samengevoegd.
Stap 3: schakel DKIM-ondertekening op uw mailserver in
Een DNS-record alleen ondertekent niets. Uw mailserver moet uitgaande berichten actief ondertekenen met de privésleutel.
Google Workspace: Kies “Start authentication” in hetzelfde beheerpaneel waarin u de sleutel hebt gegenereerd.
OpenDKIM (Postfix/Exim): Pas /etc/opendkim.conf aan:
Selector s1
KeyFile /etc/opendkim/keys/example.com/dkim_private.pem
Domain example.com
Socket inet:8891@localhost
Voeg daarna voor Postfix de milter toe in /etc/postfix/main.cf:
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Herstart beide diensten:
sudo systemctl restart opendkim
sudo systemctl restart postfix
Externe verzenders zoals SendGrid, Mailgun en Amazon SES hebben elk een eigen activeringsprocedure. Meestal leveren zij CNAME- of TXT-records die u in DNS publiceert, waarna u in hun dashboard de verificatie uitvoert.
Stap 4: controleer het record
Ga niet uit van een werkende configuratie. Controleer die direct.
Via de opdrachtregel:
dig TXT s1._domainkey.example.com +short
Het antwoord moet de openbare sleutel tonen. Is het leeg, controleer dan ook de naam en het recordtype; caching of nog niet verwerkte DNS-wijzigingen kunnen eveneens meespelen. Een wachttijd tot 48 uur wordt soms aangehouden, maar is geen vaste termijn. Veel wijzigingen zijn al binnen minuten zichtbaar.
Met een testbericht: Stuur mail naar Gmail en bekijk de onbewerkte headers. Zoek naar:
Authentication-Results: mx.google.com;
dkim=pass header.i=@example.com header.s=s1
Met dkim=pass is de handtekening van dat testbericht gevalideerd; controleer ook DMARC-uitlijning. Ziet u dkim=fail of dkim=neutral, onderzoek dan de configuratie en de veelgemaakte fouten hieronder.
De syntaxis van een DKIM-record
De syntaxis begrijpen is belangrijk, zeker als u voor het eerst een DKIM-record maakt. Dit zijn de onderdelen:
v=DKIM1; k=rsa; t=s; p=MIIBIjANBgkqhkiG9w0BAQE...
| Tag | Verplicht | Betekenis |
|---|---|---|
v=DKIM1 | Ja | Versie. De waarde moet DKIM1 zijn. |
k=rsa | Nee | Sleuteltype. RSA is standaard en veelgebruikt. Ondersteuning voor Ed25519 verschilt per verzend- en ontvangstsysteem. |
p= | Ja | Openbare sleutel in base64. Een lege p= betekent dat de sleutel is ingetrokken. |
t=s | Nee | Beperkt het domeindeel van de ondertekeningsidentiteit i= tot het exacte ondertekenende domein d=. Zonder deze vlag mag i= ook een subdomein daarvan gebruiken. Dit is niet de From-uitlijning van DMARC. |
t=y | Nee | Testmodus. Volgens de specificatie mogen ontvangers berichten waarvan de verificatie mislukt niet anders behandelen dan ongetekende mail. Het daadwerkelijke ontvangstbeleid kan verschillen. Verwijder de vlag na de testfase. |
Veelgemaakte fouten bij DKIM-records
Bij de eerste inrichting komen dezelfde fouten vaak terug.
1. Regeleinden in de openbare sleutel. Een veelvoorkomend probleem. Plakt u een PEM-sleutel inclusief regeleinden in het DNS-waardeveld, dan kan de waarde ongeldig worden. Verwijder regeleinden en witruimte uit de base64-sleutelgegevens.
2. Verkeerde selector in de DNS-naam. U genereerde de sleutel met selector s1, maar de serverconfiguratie gebruikt default. De ontvanger zoekt dan default._domainkey.example.com op en vindt de bedoelde sleutel niet. De selector in DNS moet exact overeenkomen met die in de handtekening.
3. Meerdere DKIM-records voor dezelfde selector. Anders dan SPF, waarvoor één record per domein geldt, kan DKIM meerdere selectors gebruiken. Elke selector moet wel eenduidig zijn. Twee TXT-records op s1._domainkey kunnen een ongeldige of onduidelijke sleutelpublicatie opleveren.
4. Ondertekening vergeten in te schakelen. Het DNS-record publiceert alleen de openbare sleutel. Uw mailserver moet de uitgaande berichten nog met de privésleutel ondertekenen. Zonder ondertekening heeft het record daarvoor geen effect.
5. Sleutels van 1024 bits gebruiken. Ze kunnen technisch nog werken, maar Googles verzendrichtlijnen en beveiligingsadviezen bevelen waar ondersteund 2048 bits aan. Genereer voor een upgrade een nieuw sleutelpaar, publiceer het onder een nieuwe selector en pas de verzendconfiguratie aan. Trek de oude sleutel pas in wanneer onderweg zijnde berichten ermee gecontroleerd konden worden, door de waarde p= leeg te maken.
DKIM, SPF en DMARC: de volledige combinatie
DKIM staat niet op zichzelf. Het is onderdeel van een combinatie van drie authenticatiemechanismen.
SPF controleert of het IP-adres van de verzendserver door het domein is geautoriseerd. Bij doorsturing kan SPF mislukken doordat het verzend-IP verandert. Begin zo nodig met onze gids voor SPF-records en lees hoe SPF voor e-mail werkt om de grens van 10 DNS-activerende termen en andere beperkingen te begrijpen.
DKIM kan doorsturing overleven omdat de handtekening aan de inhoud is gekoppeld, niet aan het verzend-IP. Dat geldt zolang de ondertekende inhoud niet zodanig wordt gewijzigd dat verificatie mislukt. Zo vult DKIM SPF aan.
DMARC verbindt beide. De gepubliceerde beleidsregel beschrijft hoe ontvangers berichten kunnen behandelen als geen geldige, uitgelijnde SPF- of DKIM-route beschikbaar is: quarantaine, weigering of alleen bewaking. Minstens één van SPF en DKIM moet slagen en aansluiten op het From-domein.
Streef naar geldige uitlijning voor SPF en DKIM en voer p=reject pas in nadat legitieme mailstromen zijn gecontroleerd. Dat ondersteunt domeinbescherming, maar garandeert geen sterke domeinreputatie of betere inboxplaatsing.
Voor bedrijven is deze combinatie een belangrijke basis voor veilige e-mailprocessen, niet een volledige beveiligingsgarantie.
Hoe TrekMail DKIM kan ondersteunen
Voor één domein is handmatig beheer goed uitvoerbaar. Bij tientallen domeinen wordt automatisering nuttiger: sleutelrotatie, selectors voor verschillende diensten en het opmerken van configuratiefouten vragen dan meer aandacht.
TrekMail biedt een wizard voor SPF, DKIM en DMARC met DNS-instructies voor de gekozen verzendroute. Bij beheerde verzending gebruikt u de door TrekMail getoonde DKIM-gegevens. Bij externe SMTP komen de sleutel en ondertekeningsinstellingen van de daadwerkelijke provider. DNS-controles kunnen fouten signaleren, maar sluiten niet elk afleverprobleem vooraf uit.
- Nano ($0): BYO SMTP, bijvoorbeeld Amazon SES of Mailgun. Gebruik de DKIM-instructies van die provider. Het abonnement wordt zonder verplichte creditcard aangeboden; controleer de actuele voorwaarden.
- Starter ($3.50 per maand): Beheerde SMTP en DKIM-gegevens via TrekMail. Controleer de actuele mogelijkheden voor sleutelbeheer en rotatie. De vermelde proefperiode is 14 dagen en vereist een kaart.
- Pro ($10 per maand): Ondersteuning voor meerdere verzenddomeinen en hun DKIM-configuraties kan van de abonnementsvoorwaarden afhangen. De genoemde proefperiode is 14 dagen.
- Agency ($23.25 per maand): Gericht op centraal beheer van klantdomeinen. De genoemde 100+ domeinen en mogelijkheden voor rotatie en bewaking zijn afhankelijk van actuele voorwaarden. Vermelde proefperiode: 14 dagen.
Het gaat niet alleen om gemak. Een onjuist DKIM-record kan onopgemerkt blijven totdat authenticatieproblemen zichtbaar worden. Geautomatiseerde controles kunnen helpen fouten eerder te vinden.
Conclusie
Een correct DKIM-record vereist vier onderdelen: een sleutelpaar van 2048 bits waar ondersteund, een DNS-TXT-record onder de juiste selector, een actief ondertekenend verzendsysteem en verificatie. De inrichting voor één domein kan ongeveer tien minuten werk kosten, maar DNS-wachttijd en providerinstellingen kunnen het proces verlengen.
Stop niet zodra DKIM werkt. Combineer het met SPF en DMARC om domeinmisbruik te beperken. De volledige combinatie ondersteunt authenticatie en merkbescherming, maar neemt niet alle aflever- en beveiligingsrisico's weg.
Wilt u minder handmatig DNS-werk, bekijk dan het gratis TrekMail-abonnement en gebruik de wizard voor de beschikbare configuratiestappen.