Ein SPF-Record beginnt mit v=spf1, gefolgt von Mechanismen: ip4 und ip6 für Adressbereiche, a und mx für die eigenen Hosts der Domain und include, um die Liste eines Anbieters einzubinden, der für Sie E-Mails versendet. Am Ende steht eine Auffangregel: -all (alles andere ablehnen), ~all (Softfail: annehmen, aber mit Misstrauen behandeln) oder ?all (keine Aussage).
Der empfangende Server prüft die verbindende IP-Adresse gegen den SPF-Record der Envelope-Absenderdomain (Return-Path), nicht gegen die From-Adresse, die der Nutzer sieht. Diese Lücke schließt DMARC, indem es verlangt, dass die SPF-Domain zur sichtbaren From-Domain passt (Alignment).
Zwei Grenzen verursachen die meisten SPF-Fehler. Eine Domain darf nur einen Eintrag mit v=spf1 veröffentlichen; zwei Einträge ergeben einen permanenten Fehler. Und die Auswertung darf höchstens zehn DNS-Abfragen auslösen – gezählt werden include, a, mx, exists und redirect, auch verschachtelte; wird die Grenze überschritten, ist das ebenfalls ein permanenter Fehler. SPF bricht außerdem bei weitergeleiteten E-Mails, weil die IP-Adresse des weiterleitenden Servers nicht in Ihrem Eintrag steht – ein Grund, E-Mails zusätzlich mit DKIM zu signieren.
Beispiel
example.com. 3600 IN TXT "v=spf1 ip4:192.0.2.0/24 include:_spf.mailer.example -all"