Kostenlose Tools

SPF-Eintrag prüfen

Prüfen Sie den SPF-Eintrag einer Domain: seine Syntax, jedes Include so, wie ein empfangender Server ihm folgt, die DNS-Abfragen, die er gegen das Limit von 10 kostet, und was mit E-Mails von Servern geschieht, die er nicht nennt.

Die DNS-Abfragen gehen direkt von Ihrem Browser an öffentliche Resolver (Cloudflare, Google): Wir sehen nichts.

Was der SPF-Check prüft

Ein SPF-Eintrag, nicht zwei
Eine Domain darf genau einen TXT-Eintrag veröffentlichen, der mit v=spf1 beginnt. Bei zwei Einträgen meldet jeder Empfänger einen permanenten Fehler (Permerror), selbst wenn jeder für sich korrekt ist.
Die Syntax jedes Terms
Jeder Mechanismus (ip4, ip6, a, mx, include, exists, ptr, all) und jeder Modifikator (redirect, exp) wird so gelesen, wie ein Empfänger ihn liest. Ein einziger falsch geschriebener Term, etwa include; oder ein Hostname nach ip4:, macht den ganzen Eintrag ungültig.
DNS-Abfragen, Include für Include
include, a, mx, ptr, exists und redirect lösen jeweils eine DNS-Abfrage beim Empfänger aus, und die Includes innerhalb eines Includes zählen mit. RFC 7208 hört bei 10 auf: Der Check zeigt, was jeder Term kostet, und die Summe.
Tote Includes und Void Lookups
Ein Include auf eine Domain ohne SPF-Eintrag lässt den ganzen Eintrag sofort mit einem Permerror scheitern, schon beim ersten (RFC 7208, Abschnitt 5.2). Void Lookups sind etwas anderes: DNS-Abfragen, die keine Antwort oder NXDOMAIN liefern, meist von a, mx oder exists, die auf nicht mehr vorhandene Namen zeigen. Bei mehr als zwei scheitert SPF mit einem Permerror (Abschnitt 4.6.4).
Der all-Mechanismus
Das Ende des Eintrags entscheidet über alle anderen Server: -all weist ab, ~all markiert, ?all sagt nichts und +all lässt jeden senden.
Doppelte und veraltete Terme
Dasselbe Include zweimal kostet seine Abfragen zweimal. ptr ist laut RFC 7208 veraltet, langsam und wird von manchen Empfängern ignoriert.

So lesen Sie das Ergebnis

Grün: in Ordnung
Ein gültiger Eintrag, höchstens 10 Abfragen, Ende mit ~all oder -all. E-Mails der genannten Server bestehen SPF.
Orange: funktioniert, aber knapp
Acht bis zehn Abfragen, ein ptr, ein doppelter Term oder ?all. SPF antwortet noch, aber der nächste Dienst oder ein Anbieter, der seinen eigenen Eintrag ändert, kann das Limit überschreiten.
Rot: SPF scheitert
Zwei Einträge, ein Syntaxfehler, mehr als 10 Abfragen oder ein totes Include: Empfänger erhalten einen Permerror, und DMARC wertet ihn als Fehlschlag für jede Nachricht, die sich auf SPF stützt.
Die Abfragetabelle
Jeder Term des Eintrags mit den Abfragen, die er kostet, verschachtelte Includes eingerechnet. Die schwerste Zeile ist meist die, die durch ip4-Bereiche ersetzt oder auf eine Subdomain verlagert werden sollte.

Häufige SPF-Fehler und ihre Behebung

Diese Meldungen erscheinen in Unzustellbarkeitsnachrichten, im Header Authentication-Results einer empfangenen E-Mail oder in anderen Tools. Hier steht, was jede bedeutet und was zu ändern ist.

SPF permerror: too many DNS lookups

Ursache. Wenn jedem Include gefolgt wird, braucht der Eintrag mehr als 10 DNS-Abfragen. Der Empfänger bricht ab und meldet einen permanenten Fehler, den DMARC als SPF-Fehlschlag wertet.

Behebung. Entfernen Sie Dienste, die Sie nicht mehr nutzen. Ersetzen Sie Includes, die nur wenige feste Adressen abdecken, durch ip4: oder ip6:, die nichts kosten. Versenden Sie Massen-E-Mails über eine Subdomain (news.beispiel.de) mit eigenem SPF-Eintrag.

SPF permerror: multiple SPF records found

Ursache. Zwei TXT-Einträge beginnen mit v=spf1, meist weil ein neuer Anbieter verlangt hat, „einen SPF-Eintrag hinzuzufügen“, und der alte geblieben ist.

Behebung. Führen Sie sie zusammen: ein einziges v=spf1, alle Includes und Adressen beider Einträge, ein all am Ende. Löschen Sie dann den anderen Eintrag.

spf=softfail (domain of … does not designate 192.0.2.1 as permitted sender)

Ursache. Der sendende Server steht nicht im Eintrag, der mit ~all endet. Meist wurde ein Dienst, der in Ihrem Namen sendet (CRM, Rechnungsversand, Kontaktformular), nie aufgenommen.

Behebung. Ermitteln Sie den sendenden Dienst aus den Received-Headern und ergänzen Sie das Include, das er dokumentiert. War die Nachricht nicht von Ihnen, hat der Eintrag seine Arbeit getan.

550 5.7.23 The message was rejected because of Sender Policy Framework violation

Ursache. Microsoft und andere Empfänger haben die Nachricht abgewiesen, weil SPF bei einem Eintrag mit -all gescheitert ist oder weil DMARC den Fehlschlag durchgesetzt hat.

Behebung. Ergänzen Sie den fehlenden Absender wie bei einem Softfail. Weitergeleitete E-Mails können SPF nicht bestehen: Signieren Sie Ihre E-Mails mit DKIM, damit DMARC über DKIM besteht.

SPF void lookup limit exceeded

Ursache. Mehr als zwei DNS-Abfragen bei der Auswertung des Eintrags lieferten keine Antwort oder NXDOMAIN, meist Mechanismen a, mx oder exists, die auf gelöschte oder falsch geschriebene Namen zeigen. Der Empfänger bricht mit einem Permerror ab (RFC 7208, Abschnitt 4.6.4).

Behebung. Entfernen oder korrigieren Sie die Mechanismen, die auf nicht mehr vorhandene Namen zeigen. Ein Include auf eine Domain ohne SPF-Eintrag ist ein eigener, strengerer Fehler: Er lässt den Eintrag schon beim ersten scheitern, also entfernen Sie es oder ersetzen Sie es durch das Include, das der Anbieter heute dokumentiert.

No SPF record found

Ursache. Auf der Domain selbst gibt es keinen TXT-Eintrag, der mit v=spf1 beginnt: Er wurde auf www, in einer anderen Zone oder nie veröffentlicht.

Behebung. Veröffentlichen Sie einen TXT-Eintrag auf der Domain (in den meisten DNS-Oberflächen mit dem Namen @). Eine Domain, die nie E-Mails sendet, veröffentlicht v=spf1 -all.

Fragen

Wie viele DNS-Abfragen erlaubt SPF?

10, gezählt über den ganzen Eintrag mit allen verschachtelten Includes (RFC 7208, Abschnitt 4.6.4). ip4, ip6 und all kosten nichts. Über 10 hinaus ist das Ergebnis ein permanenter Fehler, und mehr als zwei Abfragen ohne Antwort lassen SPF ebenfalls scheitern.

Soll mein SPF-Eintrag mit ~all oder -all enden?

Mit DMARC auf quarantine oder reject reicht ~all und schont weitergeleitete E-Mails: DMARC entscheidet. Ohne DMARC ist -all das einzige Ende, bei dem Empfänger gefälschte E-Mails abweisen. Nie +all, und ?all ist so gut wie kein SPF.

Kann ich meinen SPF-Eintrag „flatten“, um unter 10 Abfragen zu kommen?

Includes durch die Adressen zu ersetzen, die sie heute enthalten, senkt die Zahl, aber Anbieter ändern ihre Adressen ohne Vorwarnung, und ein geflatteter Eintrag veraltet unbemerkt. Ersetzen Sie nur, was ein Anbieter als fest dokumentiert.

Schützt SPF die sichtbare Absenderadresse (From)?

Nein. SPF prüft den Umschlag-Absender (Return-Path), nicht die From-Zeile. Erst DMARC verknüpft SPF oder DKIM mit dem sichtbaren Absender, deshalb verhindert SPF allein kein Spoofing.

Laufen die Abfragen über Ihre Server?

Nein. Der Check läuft in Ihrem Browser und fragt öffentliche DNS-over-HTTPS-Resolver ab (Cloudflare, dann Google). Nichts wird an uns gesendet oder gespeichert.