Wat is het verschil tussen SPF ~all en -all?

SPF gaat over het publiceren van een lijst met servers die geautoriseerd zijn om namens een domein te verzenden.

Na het uitschrijven van een lijst van servers in de vorm van een SPF-record, is het gepast om een SPF-record te eindigen met iets dat aangeeft dat al het andere op het internet NIET is toegestaan.

Bovenstaande kan worden aangegeven door gebruik te maken van het "all"-mechanisme. Dit mechanisme omvat alles. Door het voorvoegsel "~" of "-" toe te voegen, varieert de betekenis van het mechanisme enigszins:

  • "soft fail" in het geval van "~"
  • "falen" in het geval van "-"

Beide betekenen "FALEN", maar er is een subtiel verschil, en dat heeft weer met de geschiedenis te maken.

Voordat DMARC er was, probeerde SPF het voor de gebruikers mogelijk te maken om hun beleid aan te geven, dat wil zeggen, wat moet er gebeuren als SPF faalt. "Soft fail" werd grotendeels geïnterpreteerd als "FALEN", terwijl "falen" door sommige operatoren werd geïnterpreteerd als "FALEN EN FALENDE EMAIL VERWIJDEREN".

Het verwijderen van e-mail op basis van SPF-resultaten leidde er uiteindelijk toe dat er te veel legitieme e-mails werden gedropt (vanwege onjuist geconfigureerde SPF-records of leveranciers die niet begrepen hoe SPF-conforme e-mail moest worden verzonden), en bijna alle ontvangers gebruikten uiteindelijk SPF als input voor anti-spam-engines. Enkele operators interpreteerden "falen" echter nog steeds als "FALEN EN VERWIJDEREN".

Snel door naar de wereld van DMARC. Nu gebruiken ontvangers DMARC om enigszins bevestiging te krijgen dat een domein geassocieerd kan worden met een e-mail. In deze context is ~all hetzelfde als -all: "FALEN".

Als u echter met "-all" in uw SPF-record werkt, kunt u nu en dan een operator tegenkomen die legitieme e-mails weggooit. Het debuggen van dit probleem kan moeilijk zijn. Dit probleem kan worden verholpen door "~all" te gebruiken in plaats van "-all". Als alternatief kan het gebruik van "-all" nog steeds heel waardevol zijn om vertrouwen in de juistheid van uw SPF-record over te brengen; met die vlag is het waarschijnlijker dat een mislukte match ertoe zal leiden dat frauduleuze berichten worden verwijderd door MTA's die DMARC nog niet ondersteunen.