Was ist SPF?
Das Sender Policy Framework (SPF, RFC 7208) ist ein DNS-TXT-Eintrag, in dem du festlegst, welche Server E-Mails im Namen deiner Domain versenden dürfen. Der empfangende Mailserver liest diesen Record, vergleicht ihn mit der IP-Adresse der eingehenden Verbindung und entscheidet, ob der Absender autorisiert ist.
SPF ist damit der erste von drei Bausteinen der E-Mail-Authentifizierung. Ohne gültigen SPF-Record kann praktisch jeder Server E-Mails mit deiner Absenderdomain verschicken — die Grundlage für Spoofing und Phishing in deinem Namen.
Was AnalyzeMy.Email beim SPF Check prüft
Der Check beschränkt sich nicht auf pass/fail. Der SPF-Record wird vollständig gegen RFC 7208 auditiert:
- Validierungsergebnis: pass, fail, softfail, neutral, none oder permerror — berechnet mit der Bibliothek pyspf gegen die tatsächlich sendende IP
- Record-Syntax: korrektes
v=spf1-Präfix, malformierte Terme, ungültigeip4:/ip6:-Angaben - DNS-Lookup-Limit: rekursive Zählung über alle
include:- undredirect=-Ketten hinweg. RFC 7208 erlaubt maximal 10 Lookups; darüber liefert der Record permerror. Du bekommst einen Breakdown, welcher Mechanismus wie viele Lookups verursacht - Void-Lookups: maximal 2 Abfragen dürfen NXDOMAIN oder eine leere Antwort liefern. Jeder
a,mx,exists,includeundredirectwird dafür real aufgelöst - Sublimits: der
mx-Mechanismus darf maximal 10 MX-Records liefern,ptrmaximal 10 PTR-Records - all-Qualifier:
-all,~all,?all,+all, fehlendes all, mehrfaches all sowie unerreichbare Terme nach dem all - Altlasten: veraltetes
ptr:,redirect=zusammen mitall, doppelte Mechanismen, Record-Länge über 255 Zeichen, Makros
Die Ergebnisse richtig lesen
- pass — Der sendende Server ist im Record autorisiert. Das ist das Ziel.
- fail (
-all) — Der Server ist nicht autorisiert und die Domain lehnt ihn ausdrücklich ab. Empfänger dürfen die Mail verwerfen. - softfail (
~all) — Nicht autorisiert, aber die Domain bittet nur um Markierung statt Ablehnung. Als Dauerzustand zu schwach. - neutral (
?all) — Die Domain trifft keine Aussage. Bringt praktisch keinen Schutz. - none — Es existiert kein SPF-Record. Deine Domain ist ungeschützt.
- permerror — Der Record ist fehlerhaft oder überschreitet das Lookup-Limit. Empfänger behandeln das oft wie „kein SPF“.
Häufige Fehlerquellen
- Lookup-Limit überschritten: Wer Google Workspace, ein Newsletter-Tool und ein CRM per
include:einbindet, ist schnell über 10 Lookups. Der komplette Record wird dann ungültig — auch der Teil, der vorher funktionierte. - Mehrere SPF-Records: Eine Domain darf genau einen
v=spf1-Record haben. Zwei Records ergeben permerror. - Weiterleitungen: Bei weitergeleiteten E-Mails ändert sich die sendende IP, SPF schlägt zwangsläufig fehl. Dafür ist ARC gedacht, nicht SPF.
- Vergessene Absender: Rechnungssysteme, Monitoring und Ticket-Tools versenden oft über eigene IPs, die nie in den Record aufgenommen wurden.