SPF-mechanismen begrijpen: a, mx, ip4 en include
Quick Answer
SPF definieert 8 mechanismen in RFC 7208 §5: all, include, a, mx, ptr, ip4, ip6 en exists. De vier die het meest worden gebruikt zijn: ip4 (autoriseert een specifiek IPv4-adres of -bereik, 0 lookups), a (autoriseert de A/AAAA-records van het domein, 1 lookup), mx (autoriseert de MX-records van het domein en hun A-records, in het slechtste geval tot 10 lookups) en include (delegeert de evaluatie naar het SPF-record van een ander domein, 1 lookup plus geneste lookups).
SPF-mechanismen begrijpen: a, mx, ip4 en include
SPF definieert 8 mechanismen in RFC 7208 §5: all, include, a, mx, ptr, ip4, ip6 en exists. De vier die u in 95% van de gevallen zult gebruiken, zijn ip4 (autoriseert een specifiek IPv4-adres of CIDR-bereik), a (autoriseert de A/AAAA-records van het domein), mx (autoriseert de MX-records van het domein) en include (delegeert de evaluatie naar het SPF-record van een ander domein).
“De SPF-syntaxis is bedrieglijk eenvoudig”, zegt Adam Lundrigan, CTO van DuoCircle. “v=spf1 gevolgd door mechanismen en een qualifier lijkt eenvoudig, maar de evaluatiesemantiek is verrassend complex: de volgorde van de mechanismen is bepalend, de eerste overeenkomst wint, en het verschil tussen ~all en -all heeft echte gevolgen voor de bezorging. Elke week zien we records waarbij een verkeerd geplaatst mechanisme het bedoelde beleid stilzwijgend overschrijft.”
Voor een diepgaande bespreking van elk SPF-mechanisme, elke qualifier en elke modifier raadpleegt u onze volledige gids voor de SPF-recordsyntaxis.
Elk mechanisme heeft specifieke DNS-lookupkosten die meetellen voor de limiet van 10 lookups uit RFC 7208:
ip4/ip6– 0 lookups (letterlijk IP, geen DNS nodig)a– 1 lookupmx– 1 lookup plus 1 per teruggegeven MX-host (kan het budget stilzwijgend overschrijden bij domeinen met veel MX-records)include– 1 lookup plus alles wat het opgenomen SPF-record recursief verbruiktexists– 1 lookupptr– 1 of meer lookups (en RFC 7208 §5.5 raadt het gebruik ervan expliciet AF)
Deze gids behandelt elk van de vier veelgebruikte mechanismen met de exacte syntaxis, de randgevallen (A-records met meerdere IP’s, MX-hosts met veel A-records, recursieve includes) en hoe u kiest tussen a/mx/ip4/include wanneer u meerdere opties hebt voor dezelfde set verzendende IP’s. Als handmatig onderhoud u omslachtig lijkt, bekijk dan hoe AutoSPF werkt om het te automatiseren.
Het mechanisme ‘a’
Het mechanisme ‘a’ in SPF vertelt de ontvangende mailservers dat als het A- of AAAA-record van een bepaald domein verwijst naar het IP-adres dat de e-mail verzendt, deze als legitiem moet worden beschouwd.
Kortom, als een e-mail afkomstig is van een IP dat in de A- (ip4) of AAAA- (ip6) records van het domein staat, en u het mechanisme ‘a’ hebt opgenomen, dan slaagt SPF.
Bijvoorbeeld: v=spf1 a -all
Wanneer moet u het mechanisme ‘a’ gebruiken?
Gebruik het wanneer:
-
Uw e-mailserver hetzelfde IP-adres deelt als uw domein (bijvoorbeeld website en mailserver gehost op dezelfde server).
-
U een kleine, eenvoudige opzet hebt en uw verzendende IP rechtstreeks gekoppeld is aan het A/AAAA-record van uw domein.
-
U er zeker van bent dat het A-record van het domein altijd het IP van uw mailserver weergeeft (dit is essentieel).

Wanneer moet u het mechanisme ‘a’ vermijden?
Zie af van het mechanisme ‘a’ wanneer:
-
U niet weet of niet bepaalt waarnaar het A-record verwijst (bijvoorbeeld als u hosting van derden of CDN’s gebruikt).
-
Uw website en mailserver afzonderlijk op verschillende IP-adressen worden gehost.
-
U wilt dat uw SPF-record expliciet en onderhoudbaar is, door voor de duidelijkheid ‘ip4’ of ‘include’ te gebruiken.
Bovendien kunt u, als het A-record van uw domein ooit verandert (zoals tijdens een servermigratie), onbedoeld SPF voor uw uitgaande e-mails breken zonder het te merken.
Het mechanisme ‘mx’
In SPF vertelt het mechanisme ‘mx’ de ontvangende servers dat het elke server die in het MX-record van het verzendende domein staat, toestaat om e-mails te verzenden namens de domeineigenaar. Het lost in feite het MX-record van het domein op om de hostnamen te verkrijgen. Vervolgens lost het de hostnamen op naar IP-adressen. Als het IP-adres van de afzender van uw e-mail overeenkomt met een van de vermelde IP-adressen, slaagt de SPF-controle.

Wanneer moet u het mechanisme ‘mx’ gebruiken?
Gebruik het mechanisme ‘mx’ als uw e-mail wordt verzonden via dezelfde mailservers die e-mails voor uw domein ontvangen, dat wil zeggen als uw inkomende en uitgaande mailservers dezelfde zijn.
Veelvoorkomende gevallen:
-
U gebruikt de e-maildienst van uw webhost of domeinprovider (zoals de e-mail van GoDaddy of Bluehost).
-
U hebt een on-premise mailserver (zoals Microsoft Exchange) die zowel inkomende als uitgaande e-mail verwerkt.
-
Uw bedrijf gebruikt een opzet waarbij dezelfde provider zowel de inkomende als de uitgaande e-mailstroom verwerkt.

Wanneer moet u het mechanisme ‘mx’ vermijden?
Het is niet ideaal om het mechanisme ‘mx’ te gebruiken als uw uitgaande e-mails niet via uw MX-servers gaan. Dit zijn de gevallen waarin dit vaak voorkomt:
-
U gebruikt een e-mailverzenddienst van derden (zoals Mailchimp, Google Workspace, Zoho, Salesforce, enz.).
-
Uw domein ontvangt e-mails via de ene server (MX) maar verzendt via een andere (SMTP-relay of API-gebaseerde afzender).
-
U bent niet zeker waar uw MX-records daadwerkelijk naar verwijzen.
Houd er rekening mee dat als u het mechanisme ‘mx’ gebruikt, uw MX-records goed bijgewerkt moeten zijn. Controleer ook regelmatig de IP’s waarnaar ze oplossen, aangezien sommige diensten deze vaak roteren of CDN’s of load balancers gebruiken. Er bestaat dus een kans op een kapot MX-record.
Het mechanisme ‘ip4’
Het mechanisme ‘ip4’ wordt gebruikt om expliciet een IPv4-adres (of -bereik) te autoriseren om e-mails te verzenden namens uw domein.
Voorbeeld:
v=spf1 ip4:192.0.2.0/24 -all
Dit vertelt mailservers: ‘Hé, als een e-mail afkomstig is van een IP in het bereik 192.0.2.0/24, is deze legitiem voor dit domein.’

Wanneer moet u het mechanisme ‘ip4’ gebruiken?
Het mechanisme ‘ip4’ kunt u het beste gebruiken wanneer:
-
U uw eigen mailserver beheert en het IP ervan kent.
-
U een dienst gebruikt (zoals een webhost of een CRM-tool) die u een vast verzendend IP verstrekt.
-
U handmatig bekende, statische IP’s op de toegestane lijst wilt zetten in plaats van het include-mechanisme te gebruiken.
-
U een externe afzender op maat moet autoriseren die niet wordt gedekt door een bekende SPF-‘include’.
Als extra voordeel helpt het ook om extra DNS-lookups te vermijden.
Wanneer moet u het mechanisme ‘ip4’ vermijden?
Het is beter om voorzichtig te zijn:
-
Als het IP-adres dynamisch is of vaak verandert, kunt u de e-mailbezorging breken, omdat SPF niet automatisch wordt bijgewerkt.
-
Wanneer u grote externe platforms zoals Google Workspace of Mailchimp gebruikt, leveren die al ‘include’-records.
Houd er ook rekening mee dat het toevoegen van meerdere ‘ip4’-vermeldingen in één record uw SPF-record te lang en moeilijker te beheren kan maken.

Het mechanisme ‘include’
Met het mechanisme ‘include’ kunt u andere domeinen autoriseren om namens u e-mail te verzenden.
Wanneer moet u het mechanisme ‘include’ gebruiken?
Gebruik het wanneer een externe dienst e-mail verzendt met uw domein. Dit omvat:
-
E-mailmarketingplatforms (Mailchimp, SendGrid, Klaviyo, enz.)
-
Transactionele e-maildiensten (Amazon SES, Postmark, enz.)
-
CRM-tools of helpdesks (HubSpot, Intercom, Freshdesk)
-
Beveiligingsdiensten (zoals Proofpoint of Mimecast, als ze uitgaande e-mail verwerken)
Wanneer moet u het mechanisme ‘include’ vermijden?
U hoeft het mechanisme ‘include’ niet te vermijden; houd echter rekening met deze punten zodat u het niet overmatig gebruikt:
-
Elke ‘include’ telt mee voor uw limiet van 10 DNS-lookups, en die overschrijden veroorzaakt een fout wegens te veel DNS-lookups.
-
Geneste ‘include’-instructies van andere domeinen kunnen de limiet stilzwijgend overschrijden.
-
Neem nooit domeinen op die u niet volledig beheert of vertrouwt.
Als u te veel ‘include’-instructies hebt gebruikt en uw SPF-record de DNS-lookuplimiet al heeft overschreden, gebruik dan onze automatische SPF-flatteningtool. Deze vervangt ze door de IP-adressen, waardoor de behoefte aan lookups tot een minimum wordt beperkt. Benieuwd welke aanpak bij uw domein past? Lees onze visie op macro’s versus flattening. Neem contact met ons op voor meer informatie over de tool of voor hulp bij andere SPF-gerelateerde problemen.
CTO
CTO of DuoCircle. Architect of AutoSPF's SPF flattening engine and DNS monitoring infrastructure.
LinkedIn Profile →