Zum Hauptinhalt springen

SPF PermError: der vollstaendige Leitfaden zum Verstehen, Diagnostizieren und Beheben dieses Fehlers

Von CaptainDNS
Veröffentlicht am 4. März 2026

Schema der 6 Ursachen eines SPF PermError mit Diagnosebaum und Fehlerindikatoren
TL;DR
  • Ein SPF PermError ist ein permanenter Fehler, der Ihren SPF-Eintrag ungültig macht und zur Ablehnung Ihrer E-Mails führt
  • Die 6 Ursachen: Überschreitung von 10 DNS-Lookups, mehrere SPF-Einträge, Syntaxfehler, Void Lookups > 2, ungültiger Redirect, zirkuläre Includes
  • Der PermError lässt DMARC kaskadierend fehlschlagen: wenn auch DKIM fehlschlägt, werden Ihre E-Mails abgelehnt oder als Spam markiert
  • Diagnose in 6 Schritten: Duplikate prüfen, Syntax prüfen, Lookup-Zähler prüfen, Void Lookups prüfen, Redirect prüfen, Schleifen prüfen
  • Jede Ursache hat eine spezifische Korrektur: Zusammenführung, Neuschreibung, Flattening, Entfernung ungültiger Mechanismen

Ihr DMARC-Monitoring zeigt plötzlich Hunderte von permerror-Ergebnissen für Ihre Domain an. Ihre legitimen E-Mails werden von Gmail, Outlook und Yahoo abgelehnt. Dabei haben Sie kürzlich gar nichts an Ihrer SPF-Konfiguration geändert.

Der SPF PermError ist einer der häufigsten und am meisten missverstandenen Fehler bei der E-Mail-Authentifizierung. Im Gegensatz zu einem einfachen SPF-Fehlschlag (fail oder softfail) bedeutet der PermError, dass Ihr Eintrag strukturell ungültig ist: Die Empfangsserver können ihn nicht einmal auswerten. Und die Ursachen sind vielfältig, von der Überschreitung des 10-Lookup-Limits bis hin zu einem einfachen Syntaxfehler.

Dieser Leitfaden beschreibt die 6 möglichen Ursachen eines SPF PermError, erklärt, wie Sie genau identifizieren, welche Ihre Domain betrifft, und liefert die passenden Korrekturen für jede Situation.

Was ist ein SPF PermError?

Definition gemäß RFC 7208

Die RFC 7208, Abschnitt 2.6.7 definiert das Ergebnis permerror als permanenten Fehler bei der SPF-Auswertung. Dieses Ergebnis wird zurückgegeben, wenn der SPF-Eintrag vom Empfangsserver nicht korrekt interpretiert werden kann.

Im Gegensatz zu anderen SPF-Ergebnissen (pass, fail, softfail, neutral) weist der PermError auf ein Problem in der Struktur des Eintrags hin, nicht bei der Autorisierung des Absenders. Der Eintrag ist fehlerhaft und es kann keine Autorisierungsentscheidung getroffen werden.

Unterschied zwischen PermError und TempError

ErgebnisTypUrsacheMaßnahme
PermErrorPermanenter FehlerUngültiger SPF-EintragKorrektur durch den Administrator erforderlich
TempErrorTemporärer FehlerDNS-Timeout, Server nicht erreichbarAutomatische Behebung, erneuter Versuch
failNormales ErgebnisIP nicht autorisiertAbsender überprüfen
softfailNormales ErgebnisIP nicht autorisiert (permissiver Modus)Akzeptiert mit Markierung

Der TempError ist vorübergehend: Ein momentan nicht erreichbarer DNS-Server kann ihn auslösen. Der PermError hingegen besteht, solange der Eintrag nicht korrigiert wird. Jede von Ihrer Domain gesendete E-Mail löst denselben Fehler aus.

Die 6 Ursachen eines SPF PermError

Ursache 1: Überschreitung des 10-DNS-Lookup-Limits

Dies ist die häufigste Ursache. Die RFC 7208 begrenzt die Anzahl der DNS-Abfragen bei der SPF-Auswertung auf 10. Die Mechanismen include:, a, mx, redirect und exists zählen jeweils als ein Lookup. Beim 11. Lookup gibt der Server sofort permerror zurück.

# Beispiel: 12 Lookups (permerror)
v=spf1 include:_spf.google.com include:sendgrid.net include:servers.mcsv.net include:spf.brevo.com include:spf.protection.outlook.com mx ~all

Mit Google Workspace (4 Lookups), SendGrid (2), Mailchimp (1), Brevo (2), Microsoft 365 (2) und einem MX (1) ergibt sich eine Summe von 12. Der erste Leitfaden dieser Serie beschreibt die Methoden zur Lösung dieses spezifischen Problems.

Ursache 2: Mehrere SPF-Einträge auf derselben Domain

Die RFC 7208 schreibt vor, dass eine Domain nur einen einzigen TXT-Eintrag mit dem Präfix v=spf1 veröffentlichen darf. Wenn Ihre DNS-Zone zwei SPF-Einträge enthält, ist das Ergebnis systematisch permerror.

# FALSCH: zwei SPF-Einträge (permerror)
captaindns.com.  TXT  "v=spf1 include:_spf.google.com ~all"
captaindns.com.  TXT  "v=spf1 include:sendgrid.net ~all"

# RICHTIG: ein einziger zusammengeführter Eintrag
captaindns.com.  TXT  "v=spf1 include:_spf.google.com include:sendgrid.net ~all"

Dieser Fehler tritt häufig auf, wenn ein neuer Dienst hinzugefügt wird, indem der vom Anbieter bereitgestellte Eintrag per Copy-Paste eingefügt wird, ohne ihn mit dem bestehenden zusammenzuführen.

Ursache 3: Syntaxfehler

Ein Tippfehler, ein zusätzliches Leerzeichen oder ein falsch geschriebener Mechanismus machen den Eintrag ungültig:

FehlerBeispielKorrektur
Fehlendes Präfixinclude:_spf.google.com ~allv=spf1 am Anfang hinzufügen
Ungültiger Mechanismusv=spf1 include _spf.google.com ~allLeerzeichen durch : ersetzen
Falsch formatierte IPv=spf1 ip4:192.168.1 ~allKorrigieren zu ip4:192.168.1.0/24
Mechanismus ptrv=spf1 ptr:captaindns.com ~allEntfernen (veraltet gemäß RFC 7208)
Doppeltes allv=spf1 include:_spf.google.com ~all -allNur ein all behalten

Ursache 4: Void Lookups (Limit von 2)

Die RFC 7208, Abschnitt 11.1, legt ein zweites, oft übersehenes Limit fest: maximal 2 Void Lookups. Ein Void Lookup tritt auf, wenn ein DNS-Mechanismus eine leere Antwort zurückgibt (NXDOMAIN oder kein Ergebnis).

# Beispiel: Includes auf nicht existierende Domains
v=spf1 include:ancien-service.captaindns.com include:service-supprime.captaindns.com include:_spf.google.com ~all

Wenn ancien-service.captaindns.com und service-supprime.captaindns.com NXDOMAIN zurückgeben, erreichen Sie 2 Void Lookups. Ein dritter ungültiger Include würde den PermError auslösen.

Ursache 5: Redirect auf eine Domain ohne SPF

Der Mechanismus redirect= leitet die SPF-Auswertung an eine andere Domain weiter. Wenn diese Domain keinen SPF-Eintrag hat, ist das Ergebnis permerror.

# FALSCH: Zieldomain ohne SPF-Eintrag
v=spf1 redirect=_spf.captaindns.com
# (wenn _spf.captaindns.com keinen TXT v=spf1 hat → permerror)

# RICHTIG: Zieldomain mit gültigem SPF
v=spf1 redirect=_spf.captaindns.com
# (mit _spf.captaindns.com: "v=spf1 ip4:203.0.113.0/24 ~all")

Ursache 6: Zirkuläre oder nicht auflösbare Includes

Wenn Ihr SPF eine Include-Kette enthält, die auf sich selbst verweist, schlägt die Auswertung fehl:

# Zirkuläre Schleife (permerror)
# captaindns.com       → v=spf1 include:_spf.captaindns.com ~all
# _spf.captaindns.com  → v=spf1 include:captaindns.com ~all

Dieser Fall ist selten, tritt aber bei schlecht koordinierten DNS-Umkonfigurationen auf.

Wie diagnostiziert man einen SPF PermError?

Diagnosebaum SPF PermError: 6 Prüfungen zur Identifizierung der genauen Fehlerursache

Befolgen Sie diese Schritte der Reihe nach, um die genaue Ursache zu identifizieren:

Schritt 1: Anzahl der SPF-Einträge prüfen

dig +short TXT captaindns.com | grep "v=spf1"

Wenn der Befehl mehr als eine Zeile zurückgibt, ist es Ursache 2. Führen Sie die Einträge zusammen.

Schritt 2: Syntax prüfen

Jeder Mechanismus muss korrekt formatiert sein: include:domain, ip4:adresse/maske, mx, a. Die häufigsten Fehler: Leerzeichen statt :, fehlendes Präfix v=spf1, doppeltes all.

Schritt 3: DNS-Lookups zählen

Lösen Sie rekursiv jedes include:, a, mx, redirect und exists auf. Die Gesamtzahl darf 10 nicht überschreiten.

Schritt 4: Void Lookups prüfen

Testen Sie jede von include: und redirect= referenzierte Domain. Wenn mehr als 2 NXDOMAIN oder eine leere Antwort zurückgeben, ist es Ursache 4.

Schritt 5: Redirect testen

Wenn Ihr SPF redirect= verwendet, prüfen Sie, ob die Zieldomain einen gültigen SPF-Eintrag besitzt.

Schritt 6: Schleifen suchen

Verfolgen Sie die Include-Kette manuell, um eventuelle Zyklen zu erkennen.

Wie behebt man jeden PermError-Typ?

Mehrere Einträge: zusammenführen

Sammeln Sie die Mechanismen aus jedem SPF-Eintrag und kombinieren Sie sie zu einem einzigen:

# Vorher: 2 Einträge (permerror)
"v=spf1 include:_spf.google.com ~all"
"v=spf1 include:sendgrid.net ~all"

# Nachher: 1 einziger Eintrag
"v=spf1 include:_spf.google.com include:sendgrid.net ~all"

Erstellen Sie Ihren zusammengeführten Eintrag mit unserem SPF Generator.

Syntaxfehler: neu schreiben

Vergleichen Sie Ihren Eintrag mit der offiziellen Syntax der RFC 7208. Die zu prüfenden Punkte:

  • Das Präfix v=spf1 ist obligatorisch und steht an erster Stelle
  • Jeder Mechanismus ist durch ein einzelnes Leerzeichen getrennt
  • Die Mechanismen include: und redirect= werden von einer gültigen Domain gefolgt
  • Nur ein einziger all-Mechanismus an letzter Stelle
  • Der ptr-Mechanismus ist veraltet, entfernen Sie ihn

DNS-Lookups: auf unter 10 reduzieren

Drei Ansätze zur Reduzierung der Anzahl der Lookups:

  1. Unnötige Includes entfernen: Löschen Sie Dienste, die Sie nicht mehr verwenden
  2. Durch direkte IPs ersetzen: Verwenden Sie für Ihre eigenen Server ip4: und ip6: anstelle von include:
  3. SPF Flattening: Lösen Sie automatisch alle Includes in IP-Adressen auf mit unserem SPF Flattener

Void Lookups: ungültige Referenzen bereinigen

Entfernen oder korrigieren Sie jedes include:, das auf eine nicht existierende Domain verweist. Stellen Sie sicher, dass alle referenzierten Domains einen gültigen DNS-Eintrag haben.

Ungültiger Redirect: Ziel-SPF veröffentlichen

Stellen Sie sicher, dass die mit redirect= verwendete Domain einen gültigen TXT-Eintrag v=spf1 ... besitzt.

SPF PermError und DMARC: der Dominoeffekt

Fehlerkaskade: Ein SPF PermError verursacht ein DMARC-Fehlschlagen, wenn auch DKIM fehlschlägt

Ein SPF PermError bleibt nicht isoliert. DMARC prüft zwei Authentifizierungsmechanismen: SPF und DKIM. Wenn SPF permerror zurückgibt, betrachtet DMARC die SPF-Ausrichtung als fehlgeschlagen. Wenn auch DKIM fehlschlägt (abgelaufener Schlüssel, geänderter Header, ungültige Signatur), fallen beide Säulen von DMARC.

Die Kaskade verläuft direkt:

  1. SPF PermError: DMARC kann die SPF-Ausrichtung nicht validieren
  2. Wenn auch DKIM fehlschlägt: DMARC schlägt vollständig fehl
  3. Mit p=reject: Die E-Mail wird vom Empfangsserver abgelehnt
  4. Mit p=quarantine: Die E-Mail wird in den Spam-Ordner verschoben

Das Problem ist besonders heimtückisch bei einer DMARC-Policy p=none: Die E-Mails werden zugestellt, aber Ihre DMARC-Berichte zeigen steigende Fehlerquoten. Sobald Sie auf p=reject umstellen, werden alle E-Mails mit SPF PermError abgelehnt.

Empfohlener Aktionsplan

  1. Diagnostizieren Sie die genaue Ursache: Verwenden Sie die 6 Prüfschritte, um den PermError-Typ zu identifizieren
  2. Wenden Sie die spezifische Korrektur an: Jede Ursache hat ihre eigene Korrekturmethode
  3. Testen Sie vor der Veröffentlichung: Validieren Sie Ihren neuen Eintrag in einem Diagnosetool, bevor Sie Ihre DNS-Zone ändern
  4. Überprüfen Sie die DMARC-Auswirkung: Bestätigen Sie nach der Korrektur, dass Ihre DMARC-Berichte keinen PermError mehr anzeigen
  5. Richten Sie ein Monitoring ein: Überwachen Sie Ihren SPF-Eintrag monatlich, um Regressionen zu erkennen

FAQ

Was ist ein SPF PermError?

Ein SPF PermError ist ein permanenter Fehler, der zurückgegeben wird, wenn ein SPF-Eintrag vom Empfangsserver nicht korrekt ausgewertet werden kann. Im Gegensatz zu einem TempError (vorübergehend) besteht der PermError, solange der Eintrag nicht vom DNS-Administrator korrigiert wird.

Was sind die häufigsten Ursachen eines SPF PermError?

Die 6 Hauptursachen sind: die Überschreitung des 10-DNS-Lookup-Limits, das Vorhandensein mehrerer SPF-Einträge auf derselben Domain, Syntaxfehler, die Überschreitung von 2 Void Lookups, ein Redirect auf eine Domain ohne SPF und zirkuläre Includes.

Lässt ein SPF PermError DMARC fehlschlagen?

Ja. DMARC betrachtet einen SPF PermError als Fehlschlag der SPF-Ausrichtung. Wenn auch DKIM fehlschlägt, schlägt DMARC vollständig fehl. Bei einer Policy p=reject werden die E-Mails dann vom Empfangsserver abgelehnt.

Wie erkenne ich, ob mein SPF einen PermError hat?

Verwenden Sie ein SPF-Diagnosetool, das Ihren Eintrag in Echtzeit auswertet. Die aggregierten DMARC-Berichte (RUA-Format) zeigen ebenfalls die SPF-Ergebnisse für jede Sendequelle an, einschließlich PermError.

Was ist der Unterschied zwischen PermError und TempError?

Der PermError ist ein permanenter Fehler, verursacht durch einen ungültigen SPF-Eintrag (Syntax, Lookups, Struktur). Der TempError ist ein temporärer Fehler, verursacht durch ein vorübergehendes DNS-Problem (Timeout, Server nicht erreichbar). Der TempError löst sich in der Regel von selbst, der PermError erfordert einen manuellen Eingriff.

Was ist ein Void Lookup?

Ein Void Lookup tritt auf, wenn ein DNS-Mechanismus in Ihrem SPF eine leere Antwort zurückgibt (NXDOMAIN oder kein Ergebnis). Die RFC 7208 begrenzt Void Lookups auf 2 pro SPF-Auswertung. Darüber hinaus ist das Ergebnis PermError, selbst wenn die Gesamtzahl der Lookups unter 10 bleibt.

Kann ein PermError bei weniger als 10 Lookups auftreten?

Ja. Der PermError kann durch andere Ursachen als die Überschreitung von 10 Lookups ausgelöst werden: mehrere SPF-Einträge, Syntaxfehler, Void Lookups über 2, ungültiger Redirect oder zirkuläre Includes. Der Lookup-Zähler ist nur eine der 6 notwendigen Prüfungen.

Glossar

  • PermError: Permanenter Fehler, der zurückgegeben wird, wenn ein SPF-Eintrag strukturell ungültig ist und vom Empfangsserver nicht ausgewertet werden kann.
  • TempError: Temporärer Fehler, der zurückgegeben wird, wenn ein vorübergehendes DNS-Problem die SPF-Auswertung verhindert. Löst sich in der Regel automatisch.
  • Void Lookup: DNS-Abfrage, die eine leere Antwort zurückgibt (NXDOMAIN oder kein Ergebnis). Begrenzt auf 2 pro SPF-Auswertung gemäß RFC 7208.
  • DMARC: E-Mail-Authentifizierungsprotokoll, das die SPF- und DKIM-Ausrichtung prüft, um über die Behandlung von Nachrichten zu entscheiden (akzeptieren, als Spam markieren, ablehnen).
  • RFC 7208: Offizielle Spezifikation des SPF-Protokolls (Sender Policy Framework), die die Auswertungsregeln, Lookup-Limits und möglichen Ergebnisse definiert.

Überprüfen Sie jetzt Ihren SPF-Eintrag: Verwenden Sie unseren SPF Record Check, um Fehler zu diagnostizieren und Ihren SPF zu korrigieren, bevor er Ihre Zustellbarkeit beeinträchtigt.


📚 Verwandte SPF-Leitfäden

Quellen

Ähnliche Artikel