Authenticatie en DNS
SPF-record
Een SPF-record is een regel tekst op je domein die de servers noemt die e-mail mogen versturen voor dat domein. Ontvangende servers controleren het om te bevestigen dat een e-mail die zegt van jouw domein te komen, door een van jouw servers is verstuurd.
Wat is een SPF-record?
Een SPF-record is een regel tekst op je domein die de servers noemt die e-mail mogen versturen voor dat domein. SPF staat voor Sender Policy Framework. Het is vastgelegd in RFC 7208.
Eerst een paar begrippen. Een domein is de naam na de @ in een e-mailadres, zoals example.com. Een server is een computer die e-mail verstuurt of ontvangt. DNS is het openbare register waarin een domein zijn instellingen publiceert. Elke instelling heet een record. Een SPF-record is een DNS TXT-record. Dat is een DNS-record met platte tekst.
Een eenvoudig SPF-record ziet er zo uit:
v=spf1 include:_spf.google.com -all
Elk onderdeel heeft een betekenis:
v=spf1zegt dat dit een SPF-record is.include:_spf.google.comzegt dat elke server die Google vermeldt, voor dit domein mag versturen.-allzegt dat e-mail van alle andere servers geweigerd moet worden.~allis een zachtere afsluiting. Die zegt dat e-mail van andere servers verdacht is, maar niet geweigerd hoeft te worden.
Een eenvoudig voorbeeld
Zo beschermt één SPF-record een klein bedrijf.
- Een bakkerij gebruikt Google Workspace. Rosa's Bakery verstuurt haar e-mail vanaf rosa@bakery.example via Google Workspace.
- De bakkerij publiceert een SPF-record. Het record zegt
v=spf1 include:_spf.google.com -all. Dit betekent dat alleen de servers van Google e-mail mogen versturen voor bakery.example. - Rosa mailt een klant. De e-mail vertrekt vanaf een van de servers van Google.
- De server van de klant controleert. Die zoekt het SPF-record van bakery.example op. De server van Google mag versturen, dus het resultaat is pass.
- Iemand verstuurt een nepmail. Een oplichter verstuurt een e-mail die zegt van bakery.example te komen. De e-mail komt van een server die niet in het record staat.
- De controle mislukt. Het record eindigt met
-all, dus de server van de klant mag de nepmail weigeren.
Hoe ontvangende servers het controleren
Als er een e-mail binnenkomt, leest de ontvangende server het domein in het Return-Path. Het Return-Path is het adres waar bounces naartoe gaan. Een bounce is het automatische bericht dat een afzender vertelt dat een e-mail niet is bezorgd.
De server haalt het SPF-record van dat domein op. Daarna controleert hij of het IP-adres dat de e-mail heeft afgeleverd in het record staat. Een IP-adres is het nummer dat een server op internet aanduidt. Er zijn drie gebruikelijke resultaten:
- Pass. Het IP-adres staat in het record. De e-mail kwam van een toegestane server.
- Fail. Het IP-adres staat niet in het record en het record eindigt met
-all. De server mag de e-mail weigeren. - Softfail. Het IP-adres staat niet in het record en het record eindigt met
~all. De server accepteert de e-mail, maar markeert hem als verdacht.
Microsoft Exchange Online weigert een e-mail die niet slaagt met 5.7.23 The message was rejected because of Sender Policy Framework violation. Gmail geeft 550 5.7.26 terug voor een e-mail zonder enige authenticatie. Beide codes beginnen met 5. Je verzendtool noteert ze als hard bounces, ook al is het adres in orde.
Wie een SPF-record nodig heeft
Iedereen die bulkmail verstuurt, heeft er een nodig. De afzenderrichtlijnen van Google eisen SPF en DKIM van afzenders die 5.000 of meer berichten per dag naar Gmail sturen. Ze eisen ook DMARC. Microsoft eist dezelfde drie records van domeinen die meer dan 5.000 e-mails per dag naar Outlook.com, Hotmail en Live sturen. Microsoft handhaaft dit sinds 5 mei 2025.
Verstuur je minder, dan zijn de records nog steeds belangrijk. Zonder deze records komt je e-mail eerder in de spammap terecht.
De limiet van tien DNS-opzoekingen
RFC 7208 beperkt een SPF-controle tot tien DNS-opzoekingen. Een opzoeking is één vraag die de ontvangende server aan DNS stelt. Elke include:, a, mx en redirect in je record telt als één opzoeking. Opzoekingen in de records die je insluit, tellen ook mee. Als het totaal boven de tien komt, geeft de controle een permanente fout. De meeste ontvangende servers behandelen deze fout als een fail.
Dit is de meest voorkomende manier waarop een SPF-record kapotgaat. Een bedrijf voegt de ene e-mailtool na de andere aan het record toe. Bij de elfde opzoeking werkt het hele record niet meer. De SPF checker (in het Engels) telt de opzoekingen in je record, ook die binnen elke include.
Voorbeeld: het SPF-record van een bedrijf bevat de kantoormail, de nieuwsbrieftool, de helpdesktool en de factuurtool. Sommige daarvan sluiten zelf weer andere records in. Samen hebben ze 11 opzoekingen nodig. Vanaf die dag mislukt de SPF-controle voor de e-mail van het bedrijf, zelfs voor e-mail vanaf het eigen kantoor.
SPF is een van drie records
- SPF controleert welke server de e-mail heeft verstuurd.
- DKIM controleert of de e-mail na verzending niet is gewijzigd.
- DMARC koppelt beide controles aan het From-adres dat de lezer ziet. Het vertelt ontvangende servers ook wat ze moeten doen als de controles mislukken.
Een domein heeft alle drie nodig. De gids hard bounce en soft bounce laat zien hoe de foutcodes eruitzien in een bouncerapport.
SPF-records en e-mailverificatie
Een SPF-record bewijst welke servers e-mail mogen versturen voor je domein. Het bewijst niet dat het adres van de ontvanger bestaat. Een correct geauthenticeerde e-mail naar een dood adres bouncet nog steeds. Een email checker vraagt de ontvangende server of een mailbox bestaat, voordat je verstuurt. Bulk e-mailverificatie doet hetzelfde voor een hele lijst. Een correct SPF-record helpt authenticatiebounces zoals 5.7.23 te voorkomen, en e-mailverificatie vindt de adressen die zouden bouncen met codes zoals 5.1.1.
Verwante begrippen
- DKIMDKIM staat voor DomainKeys Identified Mail. Het voegt een digitale handtekening toe aan elke e-mail die je verstuurt. De ontvangende server controleert de handtekening om te bevestigen dat de e-mail van je domein komt en na verzending niet is gewijzigd.
- DMARCDMARC is een regel die je publiceert in de DNS van je domein. Die vertelt ontvangende servers wat ze moeten doen met een e-mail die zegt van jouw domein te komen, maar niet slaagt voor SPF en DKIM. Hij vertelt ze ook waar ze rapporten naartoe moeten sturen.
- DNS TXT-recordEen DNS TXT-record is een regel tekst in de instellingen van je domein. Mailservers lezen TXT-records om SPF, DKIM en DMARC te controleren. Andere diensten lezen ze om te bevestigen dat het domein van jou is.
- E-mailspoofingE-mailspoofing is een e-mail versturen met een vals afzenderadres, zodat het lijkt alsof iemand anders hem heeft verstuurd. Oplichters gebruiken het om zich voor te doen als een bank, een leverancier of je eigen leidinggevende. SPF, DKIM en DMARC zijn de records die het voor een domein tegenhouden.
- Return-PathHet Return-Path is het adres waar bouncemeldingen heen gaan. De verzendende server stelt het in, en het is vaak anders dan het From-adres dat je in je inbox ziet. SPF controleert het domein in het Return-Path.
