SPF-Prüfung
SPF-Record einer Domain holen, Syntax prüfen und die DNS-Lookups zählen
E-Mail-Adressen werden automatisch auf die Domain gekürzt.
SPF entscheidet nichts, es liefert nur ein Ergebnis: -all ergibt Fail, ~all Softfail, ?all Neutral und +all Pass für jeden Absender. Was der Empfänger daraus macht, ist seine Sache — in der Praxis wird Fail meist abgelehnt und Softfail markiert, verlassen kann man sich darauf aber nicht.
Gezählt werden nicht die DNS-Pakete, sondern die Terme, die eine Abfrage auslösen: include, a, mx, ptr, exists und redirect — auch innerhalb eingebundener Records. Ein einzelner Term kann dabei mehrere Abfragen bedeuten (mx fragt erst die MX-Records ab und dann deren Adressen), und für a und mx gilt zusätzlich eine eigene Grenze von 10 Namen je Mechanismus. Wird die Zehnergrenze überschritten, ist das Ergebnis PermError — der Empfänger bekommt also kein Urteil über den Absender, sondern die Auskunft, dass dein Record nicht auswertbar ist.
Pro Domain darf es nur einen v=spf1-TXT-Eintrag geben. Bei zweien bricht die Auswertung mit PermError ab — die Records heben sich nicht gegenseitig auf, sie machen die Prüfung unmöglich.
Selbst nachprüfen
Dieselbe Prüfung kannst du im Terminal machen — unter Linux und macOS mit diesen Befehlen:
dig +short TXT example.com | grep spf1dig +short TXT _spf.google.comDie Befehle sind bereits mit deiner Eingabe gefüllt. Weicht ein Ergebnis von dem hier ab: Deine Befehle fragen den Resolver deines Rechners, diese Seite fragt vom Server aus. Unterschiedliche Ergebnisse sind normal: Jeder Resolver hat einen eigenen Zwischenspeicher, und frische Änderungen brauchen bis zum Ablauf der TTL.
