Skip to main content

SPF-check: test je SPF-record

SPF (Sender Policy Framework) is een DNS-record waarin je vastlegt welke servers e-mail mogen versturen namens je domein. Met deze SPF-check lees je het record van je domein uit, controleer je de syntaxis en zie je hoeveel DNS-lookups het kost. Zo ontdek je fouten voordat ontvangers je mail afwijzen.

Controleer je SPF-record

Vul je domeinnaam in. De check haalt het SPF-record op en loopt alle includes na.

Gratis, zonder account. De resultaatpagina is in het Engels.

Hoe ziet een SPF-record eruit?

Een SPF-record is een TXT-record op de naam van je domein. Het begint altijd met v=spf1 en eindigt met een regel voor alles wat niet in de lijst staat. Een voorbeeld:

TXT-record op voorbeeld.nl

v=spf1 ip4:203.0.113.25 include:_spf.google.com ~all
  • ip4: en ip6: staan een vast IP-adres of een IP-reeks toe. Die kosten geen DNS-lookup.
  • include: verwijst naar het SPF-record van een dienst die voor jou mailt, zoals Google Workspace of Microsoft 365.
  • -all (hard fail) zegt dat alles wat niet in de lijst staat niet gemachtigd is. ~all (soft fail) zegt dat het waarschijnlijk niet gemachtigd is. Ontvangers beslissen zelf wat ze met een mislukte SPF-controle doen.
  • +all staat iedereen toe en maakt je SPF-record waardeloos. Gebruik het nooit.

De grens van 10 DNS-lookups

Volgens RFC 7208 mag een ontvanger bij het controleren van SPF maximaal 10 DNS-lookups doen. Dat tellen de mechanismen include, a, mx, ptr en exists en de redirect-modifier, ook als ze diep in een geneste include zitten. ip4, ip6 en all kosten niets. Gaat een record over de 10, dan krijgt de ontvanger een permanente fout (permerror) en slaagt SPF niet.

Je kunt snel over de grens komen: elke dienst die namens je domein mailt voegt een include toe, en die include verwijst vaak zelf weer naar andere records. Hoeveel lookups een include kost verschilt sterk per aanbieder. In onze Engelstalige handleidingen per aanbieder staat bij elke include wat hij kost.

  • Haal includes weg van diensten die je niet meer gebruikt.
  • Zet bulkmail of marketingmail van een dienst die je niet zelf beheert op een subdomein met een eigen SPF-record. Elk subdomein heeft zijn eigen budget van 10.
  • Vervang een include door vaste ip4- of ip6-reeksen als de aanbieder die stabiel publiceert. Dan moet je ze wel zelf bijhouden.
  • Gebruik SPF-flattening als je er niet onderuit komt, en plan het regelmatig opnieuw genereren.

Veelgemaakte SPF-fouten

  • Twee SPF-records op dezelfde naam. Dat geeft een permerror en beide records worden genegeerd. Voeg een afzender toe aan het bestaande record.
  • Meer dan 10 DNS-lookups, vaak door geneste includes die je zelf niet ziet.
  • Het SPF-record van het hoofddomein verwachten op een subdomein. SPF wordt per domeinnaam gecontroleerd: mail van mail.voorbeeld.nl heeft een eigen record nodig.
  • Een typfout in de include: een punt achter de domeinnaam, een gelijkteken in plaats van een dubbele punt, of een spatie na include:.
  • Het verouderde ptr-mechanisme gebruiken.
  • Een SPF-record zonder all aan het einde. Zonder all is het resultaat voor onbekende afzenders neutraal.

SPF alleen is niet genoeg

SPF controleert het envelopadres (MAIL FROM) van een bericht, niet het van-adres dat je ontvanger in zijn mailprogramma ziet. Bovendien breekt SPF als een bericht wordt doorgestuurd, omdat het IP-adres van de doorsturende server niet in jouw record staat.

Daarom werk je met drie records samen: SPF, DKIM en DMARC. DMARC bepaalt dat SPF of DKIM moet slagen en moet passen bij het van-adres, en vertelt ontvangers wat ze moeten doen als dat niet zo is. Controleer daarom na je SPF-record ook je DMARC-record.

Je SPF-record aanpassen zonder je mail te breken

  1. Maak een lijst van alle diensten die namens je domein mailen: je mailprovider, je webshop, je nieuwsbrief, je facturatiepakket, je helpdesk.
  2. Zet SPF eerst op ~all en publiceer DMARC met p=none en een rapportage-adres, zodat je ziet welke afzenders nog missen.
  3. Voeg ontbrekende afzenders toe aan het ene bestaande record en controleer na elke wijziging opnieuw met de SPF-check.
  4. Ga naar -all zodra de rapporten laten zien dat al je rechtmatige afzenders slagen.

Over IntoDNS.ai

IntoDNS.ai is een product van Cobytes, een Nederlandse IT-dienstverlener. De SPF-check is gratis en vraagt geen account.

Veelgestelde vragen

Hoeveel SPF-records mag ik hebben?

Precies één per domeinnaam. Met twee v=spf1-records krijg je een permerror en worden beide genegeerd. Wil je meerdere diensten toestaan, zet dan meerdere includes in hetzelfde record.

Wat is het verschil tussen ~all en -all?

-all (hard fail) markeert niet-gemachtigde afzenders als ongeldig, ~all (soft fail) markeert ze als waarschijnlijk ongeldig. Wat een ontvanger met de uitslag doet, bepaalt hij zelf. Begin met ~all en ga naar -all als alle rechtmatige afzenders in je record staan.

Wat betekent een permerror of "too many DNS lookups"?

Je SPF-record vraagt meer dan 10 DNS-lookups, of er staan twee SPF-records of een kapotte include in. De ontvanger kan SPF dan niet beoordelen. Los de oorzaak op en controleer opnieuw.

Heb ik SPF nodig voor een domein waarmee ik niet mail?

Ja, het is verstandig. Met v=spf1 -all geef je aan dat er niemand namens dat domein mag mailen. Combineer dat met een DMARC-record met p=reject.

Werkt SPF als mail wordt doorgestuurd?

Meestal niet, omdat de doorsturende server niet in jouw SPF-record staat. Daarom is DKIM belangrijk: de DKIM-handtekening blijft bij doorsturen bestaan zolang het bericht niet wordt aangepast.