Was der Empfänger daraufhin tut
Ein temperror ist ausdrücklich als wiederholbar gedacht. Die meisten Empfänger antworten mit einem 4xx-Code, die Mail bleibt beim Absender in der Warteschlange und wird erneut versucht. Das ist der Grund, warum das Symptom oft gar nicht als Fehler auffällt, sondern als Verspätung — Mails kommen zwanzig Minuten oder zwei Stunden zu spät an, und niemand sucht die Ursache im DNS.
Bei DMARC wiegt es schwerer: Fällt SPF auf temperror und liegt keine gültige DKIM-Signatur an, kann die DMARC-Auswertung nicht abschließen. Bei p=reject entscheidet dann der Empfänger, ob er zurückstellt oder verwirft.
Die fünf realistischen Ursachen
- Ein autoritativer Nameserver antwortet nicht. Nicht unbedingt deiner — es reicht, dass ein Server hinter einem
include:ausfällt. Deine Zone ist dann tadellos und die Prüfung scheitert trotzdem. - Defekte DNSSEC-Kette. Ein abgelaufener Signatur- oder ein nicht mitgezogener Schlüsselwechsel führt bei prüfenden Resolvern zu SERVFAIL. Für SPF sieht das genauso aus wie ein Ausfall — und trifft nur die Empfänger, die validieren, weshalb es sporadisch wirkt.
- Antwort zu groß für UDP, kein TCP-Rückfall. Lange TXT-Ketten überschreiten die UDP-Grenze; blockt eine Firewall DNS über TCP auf Port 53, bricht die Auflösung genau dann ab, wenn der Record wächst.
- Zu viele Abfragen in der Kette. Jedes
include:ist eine eigene Auflösung. Ein Record, der zehn Lookups ausreizt, hat zehn Gelegenheiten für eine Zeitüberschreitung — die Wahrscheinlichkeit einestemperrorsteigt mit der Länge der Kette. - Ratenbegrenzung am Nameserver. Große Empfänger fragen häufig; ein Nameserver mit strengem Rate-Limit antwortet dann zeitweise nicht.
Nachmessen
Der Fehler ist sporadisch, deshalb bringt eine einzelne Abfrage wenig. Sinnvoll ist, jeden autoritativen Server einzeln zu befragen, statt sich auf den lokalen Zwischenspeicher zu verlassen:
Antwortet ein Server der Gruppe nicht oder anders als die übrigen, ist die Ursache gefunden. Dieselbe Prüfung gehört auf jede Domain, die in einem include: steht — dort liegt der Fehler häufiger als in der eigenen Zone.
Abgrenzung
permerror ist das Gegenteil: Der Record wurde gelesen und ist ungültig, etwa wegen überschrittenem Lookup-Limit. Das wiederholt sich bei jedem Versuch gleich und muss im Record repariert werden. none heißt, es gibt gar keinen SPF-Record.