E-mailbezorging en DNS

SPF-record instellen: stappen en voorbeelden per provider

Door Alexey Bulygin
Diagram van de configuratie van een DNS-TXT-record voor SPF-e-mailauthenticatie

Een juiste SPF-recordconfiguratie helpt ontvangende mailservers bepalen of een verzendende server namens je domein mag mailen. SPF is een van meerdere controles. Een fout kan tot een weigering leiden, maar een SMTP-code zoals 550 5.7.26 bewijst op zichzelf niet dat SPF de oorzaak is. Sinds februari 2024 gelden bij Google en Yahoo authenticatievereisten, waarvan de precieze eisen afhangen van onder meer het verzendvolume en het soort berichten.

Veelvoorkomende problemen zijn dubbele records, overschrijding van de limiet van 10 DNS-opzoekende termen en een ongeschikte afsluitende kwalificatie. Zulke fouten kunnen de authenticatie en bezorging verstoren en dagen onopgemerkt blijven. Een bouncebericht maakt de oorzaak niet altijd duidelijk.

Deze handleiding behandelt de volledige SPF-configuratie: de syntaxis, voorbeelden voor TrekMail met Managed SMTP en BYO, publiceren in DNS en controle via de opdrachtregel. Heb je nog geen e-mail op je domein ingesteld? Begin dan met e-mail instellen op je eigen domein en voeg daarna deze authenticatielaag toe.

Wat SPF doet

SPF (Sender Policy Framework) publiceert in een DNS TXT-record welke servers voor een bepaalde domeinidentiteit mogen verzenden. De ontvangende server vergelijkt het verzendende IP-adres met dat beleid. Het resultaat hangt af van de overeenkomende mechanismen en kwalificaties; de ontvanger bepaalt vervolgens hoe hij het bericht behandelt. RFC 7208 definieert SPF voor de MAIL FROM-identiteit, oftewel de envelopafzender, en waar van toepassing HELO, niet voor de zichtbare From-header.

Zonder SPF ontbreekt dit DNS-beleid om gebruik van je domein als envelopafzender te beoordelen. Andere controles kunnen nog steeds helpen, maar SPF geeft ontvangers een expliciete lijst met toegestane verzenders.

De regel van één record

Per onderzochte domeinidentiteit mag je maar één SPF-record publiceren. Twee afzonderlijke TXT-records die beginnen met v=spf1 leveren een PermError op. Meerdere geciteerde tekstsegmenten binnen hetzelfde TXT-record worden daarentegen samengevoegd en zijn geen dubbele records. Ontvangers bepalen zelf hoe zij PermError behandelen. Dit probleem kan ontstaan wanneer je van provider wisselt of een marketingdienst toevoegt zonder de configuratie samen te voegen.

Fout: twee afzonderlijke recordsGoed: één samengevoegd record
v=spf1 include:spf.trekmail.net -all
v=spf1 include:_spf.google.com -all
v=spf1 include:spf.trekmail.net include:_spf.google.com -all

Bewerk het bestaande SPF-record en voeg de vereiste mechanismen daarin samen. Verwijder het niet eerst om daarna pas een nieuw record te maken: zo voorkom je een periode zonder SPF-beleid. Controleer bij een migratie dat de oude en nieuwe verzenders tijdens de overgang correct zijn opgenomen.

Stap 1: inventariseer alle diensten die namens je domein verzenden

Maak vóór een DNS-wijziging een lijst van alle diensten die mail verzenden als @yourdomain.com en controleer hun werkelijke envelopafzender. Als je een dienst vergeet, kan die na invoering van een record met -all een SPF-fail krijgen. De ontvanger beslist of dat tot weigering leidt. Vijf minuten inventariseren tegenover uren foutzoeken is een illustratieve vergelijking, geen tijdsgarantie; de benodigde controle hangt van je inrichting af.

Denk onder meer aan:

  • Zakelijke e-mail: TrekMail, Google Workspace, Microsoft 365
  • Transactionele e-mail: Amazon SES, SendGrid, Mailgun, Postmark
  • Marketing: Mailchimp, HubSpot, Klaviyo, Brevo
  • SaaS-diensten: Zendesk, Freshdesk, Shopify, Intercom

Sommige diensten gebruiken hun eigen return-path-domein, zoals bounce.mailchimp.com. Dan wordt SPF voor dat domein gecontroleerd en hoeft de dienst niet automatisch in jouw SPF-record. Bij gebruik van je eigen domein voor DMARC-uitlijning kan dat anders zijn. Controleer de documentatie en de envelopafzender van de leverancier voordat je een dienst weglaat.

Stap 2: stel je SPF-record samen

Een SPF-record is één DNS TXT-waarde; tekstsegmenten binnen hetzelfde record worden aaneengevoegd. De structuur blijft hetzelfde, ook als de mechanismen verschillen. De onderstaande IP-adressen en CIDR-bereiken zijn documentatievoorbeelden, geen productieadressen om over te nemen. Dit doen de belangrijkste onderdelen:

OnderdeelVoorbeeldFunctie
Versiev=spf1Verplicht. Elk SPF-record begint hiermee.
includeinclude:domain.comRaadpleegt het SPF-beleid van een provider. Telt mee voor de limiet van 10 DNS-opzoekende termen.
ip4ip4:203.0.113.0/24Staat rechtstreeks een IPv4-adres of CIDR-bereik toe. Hiervoor is geen DNS-opzoeking nodig.
ip6ip6:2001:db8::/32Hetzelfde voor IPv6.
-all-allFail voor verzenders die nergens overeenkomen. De ontvanger bepaalt de afhandeling. Geschikt als alle legitieme verzenders zijn bevestigd.
~all~allSoftfail voor niet-opgenomen verzenders. Geen garantie op bezorging; kan tijdens een gecontroleerde overgang worden gebruikt.

Stap 3: SPF-configuratie per provider

Kies het scenario dat bij je infrastructuur past. De onderstaande records zijn voorbeelden: verifieer altijd de actuele instructies voor je provider en account voordat je ze publiceert. Gebruik je meerdere providers, voeg hun include-mechanismen dan samen in één record.

Scenario A: TrekMail Managed SMTP (Starter- en Agency-abonnementen)

Als Managed SMTP beschikbaar en actief is voor je TrekMail-abonnement, kan dit record de basis vormen, mits TrekMail je enige verzender is. Controleer de actuele DNS-instructies in je account:

v=spf1 include:spf.trekmail.net -all

TrekMail beheert de bijbehorende verzend-IP's. Voeg eventuele andere legitieme verzenddiensten ook toe.

Scenario B: TrekMail BYO SMTP (eigen verzendconfiguratie)

Gebruik je TrekMail voor je inbox en een eigen SMTP-provider voor uitgaande mail, volg dan diens instructies voor de gebruikte envelopafzender. De laatste bezorgstap gebruikt de IP-adressen van die SMTP-provider. Deze voorbeelden zijn niet voor elk account of elke return-path-configuratie direct toepasbaar.

# Amazon SES
v=spf1 include:amazonses.com -all

# SendGrid
v=spf1 include:sendgrid.net -all

Scenario C: Google Workspace

v=spf1 include:_spf.google.com -all

Scenario D: Microsoft 365

v=spf1 include:spf.protection.outlook.com -all

Scenario E: hybride configuratie (TrekMail + marketingplatform)

Gebruik je TrekMail voor teammail en HubSpot voor campagnes? Voeg de vereiste mechanismen samen in één record. Hieronder staat een voorbeeld met een accountgebonden HubSpot-waarde:

v=spf1 include:spf.trekmail.net include:456789.spf05.hubspotemail.net -all

De include-waarde van HubSpot is specifiek voor je portal. Haal jouw waarde uit de DNS-instellingen van HubSpot en neem het voorbeeld niet letterlijk over.

Stap 4: publiceer in DNS

Publiceer het SPF-beleid als TXT-record bij de DNS-provider van je domein. Log in bij Cloudflare, Namecheap, GoDaddy, Route 53 of de dienst die je DNS beheert. Als er al een SPF-record is, bewerk dat record.

  1. Type: TXT
  2. Host/naam: @ (of leeg laten, afhankelijk van je provider en het bedoelde domein)
  3. Waarde: je volledige SPF-waarde, bijvoorbeeld v=spf1 include:spf.trekmail.net -all
  4. TTL: 3600 (1 uur)

Vervang na een bevoegde controle van de oude en nieuwe verzenders de inhoud van het bestaande SPF-record door de samengevoegde waarde. Maak geen tweede SPF-record en verwijder andere TXT-records voor domeinverificatie niet. Controleer daarna dat er precies één SPF-record voor de juiste domeinnaam bestaat. Eerder gecachte waarden kunnen nog blijven gelden tot hun TTL verloopt.

Stap 5: controleer je SPF-record

Controleer de DNS-waarde na publicatie ook via de opdrachtregel. Daarmee kun je resultaten van webcheckers vergelijken, maar ook deze opdrachten kunnen een cachende resolver gebruiken. Ze laten niet noodzakelijk zien wat iedere ontvanger op dat moment ziet.

# Mac, Linux, or Windows PowerShell
nslookup -q=txt yourdomain.com

# Linux/Mac alternative
dig txt yourdomain.com +short

Controleer deze drie punten:

  • Precies één SPF-record dat begint met v=spf1
  • Alle benodigde include-mechanismen zijn aanwezig
  • Het record eindigt met het bedoelde -all of ~all

Vind je twee afzonderlijke records die beginnen met v=spf1, voeg dan de bevoegde verzenders samen en verwijder alleen het overbodige duplicaat. Meerdere weergaveregels of geciteerde segmenten bewijzen op zichzelf geen duplicaat. Controleer daarnaast de recursieve SPF-evaluatie en authenticatie van echte berichten, inclusief DMARC-uitlijning.

Veelvoorkomende SPF-fouten oplossen

Veel problemen met SPF-configuratie vallen in de volgende drie categorieën. Gebruik de volledige foutmelding, authenticatieresultaten en DNS-controle om de oorzaak vast te stellen.

1. De limiet van 10 DNS-opzoekende termen (PermError)

SPF staat per evaluatie maximaal 10 termen toe die DNS-opzoekingen veroorzaken. Dat betreft onder meer include, a, mx, ptr, exists en redirect. Geneste evaluaties tellen mee; het gaat niet simpelweg om het totale aantal DNS-pakketten. Bij meer dan 10 van deze termen ontstaat PermError en kan een ontvanger mail weigeren.

Symptoom: een validator meldt PermError of "too many DNS lookups".

Oplossing: overweeg diensten als Mailchimp of Zendesk onder te brengen op een subdomein, bijvoorbeeld support.yourdomain.com. Dat heeft een eigen budget van 10 DNS-opzoekende termen. Configureer dan ook de daadwerkelijke MAIL FROM- of return-path-identiteit voor dat subdomein en controleer DMARC-uitlijning. Alleen een apart TXT-record toevoegen verplaatst de SPF-evaluatie niet.

2. Microsoft-consumentenmailboxen (550 5.7.515)

Een code als 550 5.7.515 is geen bewijs dat SPF geldig is of dat IP-reputatie de oorzaak is. Lees de volledige Microsoft-melding. Voor grote verzenders naar persoonlijke Outlook.com-mailboxen moeten zowel SPF als DKIM slagen, naast DMARC met ten minste één afgestemde succesvolle controle. Dat verschilt van de algemene DMARC-regel, waarvoor afgestemde SPF of DKIM volstaat. Ook met geslaagde authenticatie kunnen reputatie en filters de bezorging beïnvloeden. Zie de beveiligingsbasis voor zakelijke e-mail voor DKIM en DMARC.

3. Softfail (~all) tegenover fail (-all)

KwalificatieSignaal aan de ontvangerWanneer gebruiken
~all (SoftFail)Niet-overeenkomende verzender krijgt softfail; de ontvanger beslist over bezorging.Tijdens een gecontroleerde inventarisatie, bijvoorbeeld 2 tot 4 weken, als dat bij je overgang past.
-all (HardFail)Niet-overeenkomende verzender krijgt fail; geen automatische garantie op weigering.Wanneer alle legitieme verzenders zijn bevestigd en het beleid bij je inrichting past.

~all geeft SoftFail en ?all geeft Neutral: dat laatste is geen negatieve SPF-fail, maar doet geen uitspraak over de autorisatie van de verzender. SPF alleen voorkomt geen misbruik van de zichtbare afzender. Zodra alle verzenders zijn gecontroleerd, kun je -all overwegen in combinatie met DKIM en DMARC.

SPF instellen met TrekMail

DNS-records beheren en SMTP-fouten onderzoeken kost tijd. Als de SPF/DKIM/DMARC-wizard in je TrekMail-account beschikbaar is, kan die je helpen de passende configuratie voor Managed SMTP of BYO te vinden. De DNS-controle vergelijkt verwachte records; zij bewijst geen geldige berichtsignatuur, DMARC-uitlijning of plaatsing in de inbox. Controleer de waarden en echte berichten voor je eigen inrichting.

Voor bureaus met meerdere klantdomeinen is een consistente SPF-configuratie belangrijk. Gebruik, waar beschikbaar binnen je abonnement, TrekMail's multi-domeindashboard om authenticatiestatussen te bekijken. DNS-wijzigingen voer je nog steeds uit bij de verantwoordelijke provider. Lees meer over e-mailhosting voor meerdere domeinen en e-mail maken met een eigen domein.

Het historische aanbod vermeldt Starter vanaf $3.50 per maand met Managed SMTP, Nano als gratis ontvangoptie zonder creditcard of aflopende proefperiode, en een gratis proefperiode van 14 dagen voor betaalde abonnementen met een creditcardvereiste. Controleer de actuele prijzen, rechten, limieten en voorwaarden vóór aanmelding. Alleen in het beschreven Nano-model is je eigen externe SMTP vereist voor elk uitgaand bericht, inclusief antwoorden; beheerde verzending in betaalde plannen hangt van de feitelijke rechten en configuratie af. Bekijk TrekMail.

De volledige SPF-checklist

Loop vóór je afrondt deze zeven stappen na. Een eenvoudige configuratie kan binnen 15 minuten klaar zijn, maar meerdere verzenddiensten en DNS-caches kunnen extra verificatietijd vragen.

  1. Alle diensten met je domein als envelopafzender geïnventariseerd
  2. Bevestigd dat er nul of één bestaand SPF-record is, geen twee
  3. Eén samengevoegde v=spf1-waarde gemaakt voor alle vereiste providers
  4. Gepubliceerd als TXT-record op @ voor het bedoelde domein, met TTL 3600
  5. Het bestaande record bijgewerkt zonder eerst een gat in het SPF-beleid te maken
  6. Gecontroleerd met dig txt yourdomain.com +short
  7. Precies één SPF-resultaat bevestigd dat begint met v=spf1 en eindigt met het gekozen -all

Maak je DNS-configuratie overzichtelijk. Begin met verzenden via TrekMail.

Dit artikel delen

We gebruiken noodzakelijke technologieën om TrekMail te laten werken en te beveiligen. Door te bevestigen staat u ook beperkte analyses en advertentiemeting toe zoals beschreven in ons Cookiebeleid.

Inloggen bij TrekMail

Toegang tot je dashboard, mailboxen en DNS.

of

12 tekens wachtwoorden komen overeen

of

Herstelmail verzonden

Als er een account bestaat voor dit e-mailadres, hebben we instructies gestuurd om je wachtwoord opnieuw in te stellen.

Door verder te gaan ga je akkoord met de TrekMail- Voorwaarden en het Privacybeleid.