SPF-Record prüfen: Funktioniert Ihr SPF-Eintrag?
Ihre Mails landen im Spam, oder ein Dienst meldet, dass Ihr SPF ungültig ist? Geben Sie unten Ihre Domain ein. Der Checker ruft den SPF-Record ab, verfolgt jedes Include, zählt die DNS-Abfragen gegen das Limit von 10 und listet in verständlicher Sprache auf, was zu korrigieren ist.
Wie ein empfangender Server Ihren SPF-Record verwendet
Wenn eine Nachricht eintrifft, betrachtet der empfangende Server die Domain im Envelope-Sender und ruft deren SPF-Record ab: einen TXT-Record, der mit v=spf1 beginnt. Dann prüft er, ob die IP-Adresse des Servers, der sich gerade verbunden hat, in der Liste steht. Das Ergebnis lautet pass, fail, softfail oder neutral, und der Empfänger gewichtet es mit anderen Signalen, um zu entscheiden, ob die Nachricht in den Posteingang oder in den Spam-Ordner geht.
SPF prüft den Envelope-Sender, nicht die From-Adresse, die Menschen in ihrer Mail-App sehen. Diese Lücke zu schließen, ist die Aufgabe von DMARC.
SPF-Terme auf einen Blick
| Term | Was er bewirkt |
|---|---|
| ip4:192.0.2.0/24 | Erlaubt eine IPv4-Adresse oder einen IPv4-Bereich |
| ip6:2001:db8::/32 | Erlaubt eine IPv6-Adresse oder einen IPv6-Bereich |
| a | Erlaubt die Adressen aus den eigenen A- und AAAA-Records der Domain |
| mx | Erlaubt die Adressen der Mailserver der Domain |
| include:_spf.example.net | Erlaubt zusätzlich alles, was der SPF-Record dieser Domain erlaubt |
| exists:name | Erlaubt, wenn eine DNS-Abfrage des Namens eine Adresse liefert |
| ptr | Veraltet. Gleicht per Reverse DNS ab und sollte nicht verwendet werden |
| all | Trifft auf alles zu, steht daher am Ende und legt das Standardergebnis fest |
Ein Qualifier vor einem Term legt das Ergebnis fest, wenn er zutrifft: + pass (Standard), - fail, ~ softfail, ? neutral. Die üblichen Abschlüsse sind ~all, das nicht aufgeführte Absender als verdächtig kennzeichnet, und -all, das Empfänger bittet, sie abzulehnen.
Warum SPF kaputtgeht, wenn Sie noch einen Dienst hinzufügen
SPF erlaubt bei der Auswertung eines Records höchstens 10 Terme, die eine DNS-Abfrage auslösen. include, a, mx, ptr und exists zählen, ebenso ein Redirect-Modifier. ip4, ip6 und all zählen nicht. Abfragen innerhalb eines eingebundenen Records zählen zur selben Gesamtzahl.
So wird ein gesunder Record schlecht: Sie fügen ein Newsletter-Tool, ein Helpdesk, ein CRM und ein Abrechnungssystem hinzu, jedes mit eigenem Include, und manche dieser Includes enthalten ihrerseits Includes. Überschreiten Sie 10, liefert SPF einen dauerhaften Fehler. Empfänger behandeln dann unter Umständen jede Nachricht so, als hätte die Domain gar kein SPF, und niemand sagt es Ihnen.
- Entfernen Sie Includes für Dienste, die Sie nicht mehr nutzen.
- Ersetzen Sie ein Include durch ip4- und ip6-Bereiche, wenn die Adressen eines Anbieters stabil sind.
- Verwenden Sie niemals ptr.
- Geben Sie jedem sendenden Dienst nach Möglichkeit eine eigene Subdomain. Jeder Name hat sein eigenes Limit von 10.
- Wenn Sie Includes zu Adressen zusammenfassen, denken Sie daran, dass Anbieter ihre Bereiche ändern, ein zusammengefasster Record also regelmäßig aktualisiert werden muss.
So legen Sie Ihre SPF-Richtlinie sicher fest
- Veröffentlichen Sie pro Name genau einen SPF-Record. Zwei Records sind ein dauerhafter Fehler.
- Beginnen Sie mit ~all, während Sie prüfen, ob alle legitimen Absender aufgeführt sind, und wechseln Sie zu -all, wenn Sie sicher sind.
- Bedenken Sie, dass SPF nicht vererbt wird. Eine Subdomain, die Mails sendet, braucht einen eigenen Record, und eine Subdomain, die nie Mails sendet, kann v=spf1 -all veröffentlichen.
- Kombinieren Sie SPF mit DKIM und einer DMARC-Richtlinie. Jedes Verfahren deckt Schwächen der anderen ab.