All posts
Technical

SPF record instellen: stap-voor-stap handleiding

7 min
SPF record instellen: stap-voor-stap handleiding

Een SPF record vertelt e-mailontvangers welke servers namens jouw domein mogen mailen. Zonder SPF kan iedereen e-mail versturen die eruitziet alsof het van jouw domein komt. Het is een van de eerste stappen in e-mailbeveiliging en relatief eenvoudig in te stellen.

In deze handleiding doorlopen we het complete proces: van inventarisatie tot publicatie, inclusief de meest gemaakte fouten.

Stap 1: Inventariseer je verzendende diensten

Voordat je een SPF record maakt, moet je weten welke servers namens jouw domein e-mail versturen. Denk aan:

  • Je primaire e-mailprovider (Google Workspace, Microsoft 365, TransIP, etc.)
  • Marketing tools (Mailchimp, ActiveCampaign, Brevo, etc.)
  • Transactionele e-maildiensten (SendGrid, Postmark, Amazon SES)
  • CRM en helpdesk tools (HubSpot, Zendesk, Freshdesk)
  • Je website (contactformulieren, orderbevestigingen)
  • Interne applicaties die notificaties versturen
Tip: controleer je huidige DMARC rapporten als je die al ontvangt. Die tonen precies welke IP-adressen e-mail versturen als jouw domein.

Stap 2: Bouw je SPF record

Een SPF record is een DNS TXT-record op je hoofddomein. Het begint altijd met v=spf1 en eindigt met een all-mechanisme. Bijvoorbeeld:

v=spf1 include:_spf.google.com include:spf.protection.outlook.com ip4:203.0.113.10 ~all

De onderdelen:

  • v=spf1: verplichte versie-aanduiding, moet altijd eerst staan
  • include: voegt de SPF-records van een externe dienst toe. Elke dienst heeft zijn eigen include-domein (vraag het na bij je provider).
  • ip4 / ip6: staat specifieke IP-adressen toe. Gebruik dit voor je eigen servers.
  • ~all (softfail): e-mail van onbekende bronnen wordt als verdacht gemarkeerd. Dit is de veiligste standaardkeuze.
  • -all (hardfail): e-mail van onbekende bronnen wordt geweigerd. Gebruik dit alleen als je zeker weet dat je SPF record compleet is.

Stap 3: Publiceer het record

Ga naar je DNS-beheer (bij je domeinregistrar of DNS-provider) en maak een TXT-record aan:

  • Host/naam: @ (of leeg, afhankelijk van je provider)
  • Type: TXT
  • Waarde: je SPF record string
  • TTL: 3600 (1 uur) of de standaardwaarde
Belangrijk: je domein mag maar één SPF record hebben. Als er al een SPF record bestaat, pas dat aan in plaats van een nieuw record toe te voegen. Twee SPF records maken beide ongeldig.

Stap 4: Controleer je record

Na publicatie moet je verifiëren dat je record correct is. Controleer op:

  • Syntax: begint het met v=spf1 en eindigt het met ~all of -all?
  • DNS lookups: tel alle include, a, mx en redirect mechanismen. Het maximum is 10 lookups totaal, inclusief geneste includes.
  • Enkel record: heb je maar één TXT record dat begint met v=spf1?
  • Includes kloppen: verwijzen de include-domeinen naar de juiste diensten?

Veelgemaakte fouten

Deze fouten zien we bij honderden domeinen:

  • Meer dan 10 DNS lookups: elke include telt, ook de geneste includes van die dienst. Ga je over de 10, dan faalt je SPF volledig (PermError).
  • Twee SPF records: iemand voegt een nieuw record toe in plaats van het bestaande aan te passen. Beide worden ongeldig.
  • Vergeten diensten: je wisselt van marketingplatform maar verwijdert de oude include niet. Elke overbodige include verspilt een DNS lookup.
  • +all gebruiken: dit staat iedereen toe om als jouw domein te mailen. Gebruik nooit +all.
  • Geen SPF voor subdomeinen: als je subdomeinen gebruikt voor e-mail, heeft elk subdomein een eigen SPF record nodig.

Continue monitoring

Een SPF record instellen is niet genoeg. Diensten veranderen hun IP-adressen, collega's voegen includes toe, en je kunt ongemerkt over de 10-lookup limiet gaan. MailShield monitort je SPF record continu, telt je lookups in real-time, en waarschuwt je direct als er iets verandert.

Voeg je domein toe aan MailShield en zie binnen een minuut je huidige SPF status. Gratis voor maximaal 2 domeinen.

Check your domain now

See your email security score in under a minute. Free for up to 2 domains.