E-mailbezorging en DNS

SPF-recordgenerator: controleer de uitvoer vóór publicatie

Door Alexey Bulygin
Controle van de uitvoer van een SPF-recordgenerator

U vond een gratis SPF-recordgenerator, vinkte alles aan - Google Workspace, Mailchimp en uw CRM - en plakte de uitvoer rechtstreeks in DNS. Twee weken later weigert Gmail uw facturen met 550 5.7.26. Outlook geeft 550 5.7.515 terug. Uw supportwachtrij loopt vol.

De SPF-recordgenerator leverde syntactisch geldige uitvoer. Dat betekent nog niet dat het record werkt. Precies in dat verschil gaat de afleverbaarheid verloren. Als u de volledige DNS-configuratie nog samenstelt, begin dan met e-mail instellen op uw domein. SPF is onderdeel van een groter geheel met MX, DKIM en DMARC.

Deze gids legt uit waarom automatische generators in productie falen, hoe u hun uitvoer in vijf minuten controleert met hulpmiddelen die u al hebt en hoe een productierijp SPF-record eruitziet.

Wat een SPF-recordgenerator werkelijk doet

Een SPF-recordgenerator is een webtool die een TXT DNS-record opbouwt door providerspecifieke include:-mechanismen samen te voegen op basis van uw selecties. U kiest uw afzenders en krijgt een tekenreeks. De tool vraagt uw actieve DNS niet op, telt geen recursieve lookups en weet niet hoeveel SPF-records uw domein al heeft.

De meeste gratis SPF-recordgenerators zijn vooral tekenreeksbouwers. Ze produceren iets dat er juist uitziet zonder te controleren of het in uw echte DNS-omgeving werkt. De uitvoer is syntactisch correct, maar dat is niet hetzelfde als operationeel correct.

De 3 fouten die elke SPF-recordgenerator mist

Vrijwel elke grote SPF-storing in productie is terug te voeren op een van drie problemen. Een standaard SPF-recordgenerator ziet ze niet, omdat deze geen toegang heeft tot uw actieve DNS-gegevens of tot de tellogica voor lookups die ontvangers bij de beoordeling gebruiken.

1. PermError door een dubbel record

Een domein moet precies één SPF-record hebben. RFC 7208 is duidelijk: als de ontvangende server twee TXT-records vindt die met v=spf1 beginnen, geeft deze PermError terug - een permanente fout. Gmail en Yahoo kunnen PermError hetzelfde behandelen als het ontbreken van SPF. Uw mail wordt teruggestuurd of ongemerkt als ongewenst aangemerkt.

Generators controleren nooit op een bestaand record. Als uw domein al langer dan enkele maanden actief is, bestaat er waarschijnlijk al een record van uw registrar, vorige host of degene die Google Workspace drie jaar geleden heeft ingesteld. Als u de uitvoer van de generator zonder controle publiceert, maakt u een duplicaat en beschadigt u iets dat werkte.

2. De limiet voor recursieve lookups

RFC 7208 beperkt de SPF-beoordeling tot precies 10 DNS-lookups. Dit aantal omvat elke include:, a, mx, exists en redirect, plus elke geneste lookup die deze includes activeren. Een SPF-recordgenerator telt de mechanismen die u selecteert, maar niet wat daarbinnen zit.

Geselecteerde providerAantal volgens generatorWerkelijke lookups
Google Workspace14 (geneste _netblocks.google.com enz.)
Zendesk12-3
Mailchimp12
Salesforce12-3
Totaal410-12 → PermError

De generator toont 4 lookups. De ontvangende server bereikt nummer 11 en breekt af. Elk bericht vanaf uw domein faalt de SPF-controle. U ziet geen waarschuwing in de interface en mogelijk ook geen bouncebericht. Vaak ontdekt u het pas wanneer klanten klagen.

3. De limiet voor lege lookups (RFC 7208 §11.1)

Er is nog een beperking: niet meer dan 2 DNS-query's mogen een leeg resultaat (NXDOMAIN) teruggeven. Eén typefout in een include: veroorzaakt een lege lookup. Twee van zulke fouten laten uw volledige SPF-record falen, ook als de syntaxiscontrole van de generator niets meldde.

Scenario: include:spf.trekmaill.net (extra 'l'). Syntactisch geldig. De SPF-recordgenerator markeert dit als correct. De ontvangende server voert een lookup uit en vindt niets - lege lookup nummer 1. Met een tweede ongeldige include faalt uw volledige record.

De uitvoer van een SPF-recordgenerator controleren voor publicatie

Voer deze drie controles uit op uw actieve DNS voordat u iets publiceert dat uw SPF-recordgenerator heeft gemaakt. Het duurt vijf minuten en ontdekt de kritieke problemen die de generator mist: dubbele records, te diepe lookups en ongeldige syntaxis. Dit werkt op macOS, Linux en de Windows-opdrachtprompt.

Stap 1: controleer op een bestaand record

Voer dit uit voordat u DNS wijzigt:

nslookup -type=txt yourdomain.com

Als u twee regels ziet die beginnen met v=spf1, hebt u een duplicaat. Voeg ze handmatig samen tot één record voordat u iets nieuws publiceert.

# Broken - two records, PermError guaranteed:
"v=spf1 include:_spf.google.com -all"
"v=spf1 include:spf.trekmail.net -all"

# Fixed - merged into one:
v=spf1 include:_spf.google.com include:spf.trekmail.net -all

Stap 2: tel recursieve lookups

Vraag voor elke include: in uw record de inhoud op:

dig +short txt _spf.google.com

Uitvoer:

"v=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com ~all"

Die ene include:_spf.google.com activeert 4 werkelijke lookups. Herhaal dit voor elke provider in uw record en tel ze op. Als het totaal hoger is dan 10, moet u de structuur aanpassen, meestal door transactionele mail naar een subdomein (send.yourdomain.com) met een eigen korter record te verplaatsen.

Stap 3: controleer de mechanismen

Vergelijk de tekenreeks van uw SPF-recordgenerator met deze tabel:

MechanismeStatusActie
ptrVerouderdVerwijderen - RFC 7208 raadt het uitdrukkelijk af. Het is traag en onbetrouwbaar.
+allOnveiligVerwijderen - geeft het hele internet toestemming om als uw domein te verzenden.
ip4: 1.2.3.4Ongeldige syntaxisVerwijder de spatie. Het moet ip4:1.2.3.4 zijn.
?allZwakVermijden - neutraal beleid biedt geen bescherming tegen spoofing.
~allAanvaardbaarSoftFail - alleen tijdens migraties gebruiken, niet als permanente instelling.
-allJuistHardFail - niet-toegestane afzenders worden geweigerd. Gebruik dit in productie.

De checklist voor SPF-syntaxis

Of u nu een SPF-recordgenerator voor het eerste concept hebt gebruikt of de tekenreeks zelf hebt geschreven, loop deze lijst na voordat u DNS wijzigt. Deze controles behandelen alle fouten die een generator niet kan ontdekken, van dubbele records en recursieve lookup-limieten tot onveilige beleidsmarkeringen.

  1. Eén record per domein. Voeg samen als er een duplicaat bestaat. Publiceer nooit twee records.
  2. Begint met v=spf1. Geen varianten. Gebruik de exacte tekenreeks.
  3. Eindigt met -all of ~all. Nooit +all of ?all.
  4. IP-adressen vóór includes. Mechanismen ip4: en ip6: kosten nul DNS-lookups. Plaats ze eerst voor een snellere beoordeling.
  5. Geen zelfverwijzing. include:yourdomain.com veroorzaakt een oneindige lus. Verwijder deze.
  6. Geen handmatige IP-flattening tenzij automatisering het record actueel houdt. Als Google IP-adressen wisselt en u niet bijwerkt, kan uw mail ongemerkt uitvallen.
  7. Totaal aantal lookups ≤ 10. Tel alles, inclusief geneste includes.

Een productierijp record:

v=spf1 ip4:192.0.2.1 include:spf.trekmail.net include:_spf.google.com -all

IP-adressen eerst (geen lookupkosten), daarna de includes en hard fail aan het einde. Meer is niet nodig.

Waarom bureaus en mkb-bedrijven SPF-recordgenerators ontgroeien

Een SPF-recordgenerator werkt voor één domein met één of twee afzenders. Zodra u opschaalt - bureaus met tientallen klanten of mkb-bedrijven met een volledige SaaS-stack - wordt deze een terugkerend operationeel risico zonder centraal overzicht van het aantal lookups of dubbele records in de portefeuille.

De oude aanpak: een uniek SPF-record per klant, elk uit een andere generatorsessie en zonder controlehistorie. Eén domein bereikt de lookup-limiet. Drie dagen gaan voorbij voordat iemand het opmerkt. De afleverreputatie van uw klant krijgt de klap.

Bekijk voor een volledig overzicht van de beveiliging van zakelijke e-mailinfrastructuur onze gids over zakelijke e-mail beveiligen. Deze behandelt de volledige basis, niet alleen SPF.

Hoe TrekMail het probleem met SPF-generators wegneemt

SPF wordt ingewikkeld door het beheer van meerdere externe afzenders en de limiet van 10 lookups. TrekMail neemt beide problemen voor uw primaire mailinfrastructuur weg. Daardoor hoeft u voor uw belangrijkste verzenddomein geen SPF-recordgenerator te gebruiken, geneste lookups te tellen of mechanismen te controleren.

Voor mkb-bedrijven: één include, geen onderhoud

Met het Starter-abonnement van TrekMail ($3.50/maand) loopt uitgaande aflevering via de beheerde SMTP van TrekMail. Uw SPF-record wordt één regel:

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

TrekMail beheert IP-rotatie en afzenderreputatie achter die include. U hoeft het record daarna doorgaans niet aan te passen voor TrekMail zelf. Geen nieuwe generatorsessie en geen lookupcontrole over zes maanden wanneer een nieuwe SaaS-tool wordt toegevoegd.

Voor bureaus: één sjabloon voor elke klant

De oude aanpak: 100 klanten en 100 SPF-records uit 100 verschillende generatorsessies, elk met een eigen risico op recursieve lookups. Elk record kan zonder directe waarschuwing falen.

De TrekMail-aanpak: één sjabloon voor elk klantdomein:

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

Met het Agency-abonnement ($23.25/maand) beheert u 1,000+ domeinen vanuit één dashboard. Standaardisering op TrekMail voor zakelijke mail neemt het probleem met recursieve lookups voor uw belangrijkste communicatiekanaal weg. Bekijk bij het opschalen naar meerdere domeinen hoe e-mailhosting voor meerdere domeinen het beheer verandert.

Voor de volledige DNS-configuratie die TrekMail naast SPF verwacht - MX, DKIM en DMARC - behandelt het document over vereiste DNS-records alle vier op één plaats.

Veelgestelde vragen over SPF-recordgenerators

Deze vragen ontstaan vaak nadat de eerste generatorsessie een niet-werkend record oplevert. Ze zijn allemaal terug te voeren op het verschil tussen syntactische validatie, die de generator uitvoert, en operationele validatie, waarvoor uw actieve DNS moet worden onderzocht.

Kan ik twee generators gebruiken om de uitvoer te vergelijken?

Dat kan, maar een tweede SPF-recordgenerator lost het kernprobleem niet op. Twee tools kunnen twee verschillende tekenreeksen geven en geen van beide ontdekt dubbele records in uw actieve DNS of telt recursieve lookups altijd nauwkeurig. De CLI-stappen hierboven zijn de betrouwbaardere controle.

Mijn generator noemt het record geldig. Waarom wordt mail teruggestuurd?

Voor een SPF-recordgenerator betekent "geldig" dat de syntaxis klopt, niet dat het record in uw omgeving werkt. De twee meest voorkomende oorzaken van dit verschil zijn een dubbel record dat PermError activeert en meer dan 10 recursieve lookups. Beide vereisen controle van de actieve DNS, niet alleen een validatie in de interface.

Wanneer gebruik ik -all in plaats van ~all?

Gebruik -all (HardFail) in productie, zodat niet-toegestane afzenders direct worden geweigerd. Gebruik ~all (SoftFail) alleen tijdens een migratie als u niet zeker weet of elke afzender is vermeld. Het is een tijdelijke toestand, geen eindpunt. Een SPF-recordgenerator die standaard ?all of +all kiest, optimaliseert eerder voor de indruk dat het werkt dan voor werkelijke afleverbaarheid.

De korte versie

Een gratis SPF-recordgenerator is een redelijk beginpunt voor een concept. Voor productie is het geen goed eindpunt. De drie fouten die de tool mist - dubbele records, te veel recursieve lookups en fouten door lege lookups - veroorzaken stille bounces en PermErrors waarvan de diagnose uren kan kosten.

De oplossing is niet een betere SPF-recordgenerator, maar een CLI-controle van vijf minuten: zoek dubbele records, tel geneste lookups en controleer uw mechanismen. Publiceer pas daarna.

Als u het generatorproces liever volledig overslaat, brengt TrekMail uw uitgaande verzending samen in één include:. Eén regel in DNS, zonder rekenwerk voor lookups of onderzoek naar PermError.

Start een gratis proefperiode van 14 dagen - creditcard vereist, op elk moment opzegbaar.

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.