Der Include-Mechanismus ermöglicht eine SPF Richtlinien basieren auf der Autorisierungsentscheidung einer anderen Domäne. Dies ist nützlich, wenn ein sendender Dienst eine sich ändernde Infrastruktur verwaltet. Anstatt eine Adressliste in Ihren Datensatz zu kopieren, bewerten Sie die aktuelle Richtlinie des Anbieters, wenn dieser Eintrag erreicht ist.
Diese Bequemlichkeit ist auch eine Abhängigkeit. Ein Include kann Berechtigungen ändern, wenn sich sein Ziel ändert, das SPF Suchbudget verbrauchen oder einen Zielfehler weitergeben. Sein Verhalten ist in angegeben RFC 7208 Abschnitt 5.2.
Lesen Sie Include als bestandenen Test
Eine Normalität include:service.example.net stimmt nur überein, wenn die rekursiv ausgewertete Dienstrichtlinie „Pass“ für die Verbindungs-IP zurückgibt. Das Standardqualifikationsmerkmal + des äußeren Mechanismus erzeugt dann „Pass“.
Wenn der Dienst „Fail“, softfail oder „Neutral“ zurückgibt, stimmt das Include nicht überein und die Auswertung wird in der äußeren Richtlinie fortgesetzt. Wenn der Dienst zurückkehrt temperror oder permerror, dieser Fehler breitet sich aus. Ein Ziel ohne SPF Eintrag erzeugt permerror für include, anstatt harmlos ignoriert zu werden.
Ein Qualifier kann auch vor include stehen. Beispielsweise führt -include zu einem Fehler, wenn das untergeordnete Element pass zurückgibt. Das ist eine gültige Syntax, aber normalerweise nicht die beabsichtigte Methode zur Autorisierung eines Anbieters. Überprüfen Sie das Qualifikationsmerkmal, anstatt davon auszugehen, dass das Wort include immer Zugriff gewährt.
Ausgearbeitetes Beispiel: Behalten Sie das Ende Ihrer eigenen Police bei
Unter der Annahme einer gültigen Syntax, eines ausgewählten SPF -Eintrags für jeden Namen und eines erfolgreichen DNS Abrufs verwendet diese synthetische Vorrichtung v=spf1 ip4:192.0.2.10 include:service.example.net -all bei example.com . Der Dienst veröffentlicht v=spf1 ip4:198.51.100.9 -all.
Eine Verbindung von 192.0.2.10 leitet den lokalen Mechanismus weiter. Eine Verbindung von 198.51.100.9 erreicht den Include und wird durchgelassen, weil das untergeordnete Element durchgeht. Eine Verbindung von 203.0.113.20 erreicht das untergeordnete Element, empfängt das untergeordnete Element fail, nimmt die äußere Richtlinie wieder auf und empfängt fail von seinem letzten -all .
Ändern Sie die äußere Endung in ~all und die letzte Adresse erhält stattdessen softfail . Der Anbieter entscheidet immer noch, ob Include-Übereinstimmungen vorliegen, Ihre Richtlinie bestimmt jedoch das normale Ergebnis, wenn dies nicht der Fall ist. Dieser Unterschied ist der Grund, warum das Kopieren des gesamten Textes des Kindes nicht gleichbedeutend mit der Verwendung von include ist.
Stellen Sie sicher, dass das Include zu Ihrem Dienst gehört
Den genauen Zielwert können Sie den aktuellen Produktanweisungen von Erstanbietern entnehmen. Die Marketingplattform, die Transaktionsplattform und der Mitarbeiter-Maildienst eines Anbieters können unterschiedliche Versandpfade haben. Wählen Sie keinen plausibel aussehenden Hostnamen aus einem Artikel eines Drittanbieters aus.
Stellen Sie außerdem fest, in welcher Domäne das Produkt verwendet wird POST VON. Das Veröffentlichen eines Include auf example.com hilft nicht bei der SPF Prüfung, die anhand einer anbietereigenen Umschlagdomäne durchgeführt wird. Wenn Sie einen benutzerdefinierten Umschlag benötigen, konfigurieren Sie diese Funktion über das Produkt und überprüfen Sie sie in der empfangenen E-Mail.
Pflegen Sie für jedes Include einen Besitzer, einen Zweck und eine Ruhestandsbedingung. Ein abgebrochener Dienst sollte die Berechtigung nicht auf unbestimmte Zeit behalten, sondern sie erst entfernen, nachdem geplante Jobs, seltene Kampagnen und delegierte Teams überprüft wurden.
Budget für rekursive Abhängigkeiten
Unter RFC 7208 §4.1 Und RFC 7208 §4.6.4, ein include ist einer der DNS-Abfragen verursachenden Begriffe, die von der Zehn-Term-Auswertungsbeschränkung von SPF abgedeckt werden. Auch seine verschachtelten Begriffe zählen bei der Auswertung. Mehrere Top-Level-Includes können daher den Grenzwert überschreiten, selbst wenn der sichtbare Datensatz kurz erscheint.
Verwenden Sie eingabespezifische Traces für legitime sendende IPs und für eine nicht autorisierte IP, die einen größeren Teil der Richtlinie durchläuft. Notieren Sie die Zielantworten und die Bewertungszeit. Ein erfolgreicher Test ist heute kein Beweis dafür, dass ein Anbieter seinen Abhängigkeitsbaum niemals ändern wird.
Durch das Ersetzen von Includes durch kopierte IP-Bereiche wird die Wartungsverantwortung auf Sie übertragen. Beschreiben Sie das nicht als freie Vereinfachung. Sie benötigen einen verifizierten Update-Prozess, IPv6 Abdeckung und einen Plan für Änderungen, die auftreten, während DNS Antworten zwischengespeichert werden.
Der praktische Imbiss
Include importiert eine Passentscheidung und eine betriebliche Abhängigkeit, kein Versprechen über den sichtbaren Autor oder die Nachrichtensicherheit. Halten Sie das Ziel überprüft, die Berechtigungsabsicht und den rekursiven Pfad in Grenzen.
Halten Sie die Entscheidung reproduzierbar
Notieren Sie das untergeordnete Ergebnis und das äußere Ergebnis in verschiedenen Spalten: bestanden→Übereinstimmung→äußeres Qualifikationsmerkmal; fail/ softfail /neutral→nonmatch→continue; temperror / permerror →gleicher Fehler; keine → permerror . Für -include bedeutet untergeordneter Pass ein äußerer Fehler. Behalten Sie bei jeder Supportanfrage das genaue Ziel, den Qualifizierer, DNS Beobachtung und die Eingabe-IP bei. Dies ist die RFC-Zuordnung, kein Live-Anbieterbeweis.