← Frankys Web GitHub Kontakt

SPF Generator

SPF-Record Schritt für Schritt zusammenstellen, ohne Syntaxfehler.

Wer darf für diese Domain senden?

Ein SPF-Record legt fest, welche Server Mail mit Ihrer Domain als Absender verschicken dürfen. Er ist ein einzelner TXT-Eintrag im DNS, und er ist unerbittlich in der Syntax: ein falsch gesetztes Leerzeichen, ein erfundener Mechanismus oder ein Tippfehler in einer IP-Adresse macht ihn im schlimmsten Fall wirkungslos, ohne dass irgendwo eine Fehlermeldung auftaucht. Dieser Generator baut den Record deshalb aus geführter Eingabe: Sie wählen die Bausteine aus, er setzt sie in der richtigen Reihenfolge zusammen und prüft jeden Wert, bevor er hineinkommt.

Was der Generator macht

Sie tragen Zeile für Zeile ein, wer für Ihre Domain senden darf. Die Art des Eintrags wählen Sie aus einer Liste, nur den Wert geben Sie selbst ein. Tippfehler wie ipv4 statt ip4 oder frei erfundene Mechanismen sind damit von vornherein ausgeschlossen. Zur Auswahl stehen:

  • IPv4- oder IPv6-Adresse: eine einzelne Adresse oder ein ganzes Netz in CIDR-Schreibweise. Kostet keinen DNS-Lookup und ist deshalb die günstigste Angabe.
  • SPF eines Anbieters übernehmen (include): der Record eines Dienstleisters, etwa _spf.google.com oder spf.protection.outlook.com. So übernehmen Sie dessen Serverliste, ohne sie zu kennen.
  • Die MX-Server dieser Domain (mx): sinnvoll, wenn dieselben Maschinen, die Mail annehmen, auch senden.
  • Die IP-Adresse dieser Domain (a): die Adresse, auf die Ihre Domain selbst zeigt.

Dazu wählen Sie, was mit allen übrigen Servern geschehen soll. Anschließend steht der fertige TXT-Eintrag mit Name und Wert bereit.

Das Ergebnis lesen

Neben dem Record stehen zwei Zahlen. Die Länge in Byte ist wichtig, weil ein TXT-Eintrag im DNS aus Zeichenketten von höchstens 255 Byte besteht; längere Records sind erlaubt, müssen bei manchen Anbietern aber von Hand auf mehrere Zeichenketten verteilt werden. Die Zahl der DNS-Lookups ist die wichtigere: SPF erlaubt höchstens zehn Terme, die einen Lookup kosten, und a, mx sowie jedes include zählen dazu. Wird die Grenze gerissen, brechen prüfende Server die Auswertung mit einem PermError ab, und Ihr Record wirkt, als gäbe es ihn nicht.

Der Generator zählt nur, was er sehen kann. Was innerhalb eines fremden include steckt, kommt hinzu: ein einziges include eines großen Anbieters kann intern mehrere Lookups verbrauchen. Wie viele es am Ende wirklich sind, beantwortet der SPF Check, der die Kette tatsächlich auflöst.

Hintergrund: was der RFC verlangt

Maßgeblich ist RFC 7208. Er schreibt vor, dass der Record mit v=spf1 beginnt, dass die Terme durch Leerzeichen getrennt werden und dass die Auswertung von links nach rechts läuft: der erste greifende Mechanismus entscheidet, alles dahinter wird nicht mehr angesehen. Genau deshalb sortiert dieser Generator die günstigen Angaben nach vorn und die teuren dahinter. Das spart im Alltag echte Lookups.

Zwei Dinge bietet der Generator bewusst nicht an. ptr ist laut RFC 7208 §5.5 ausdrücklich nicht mehr zu verwenden: die Auflösung ist langsam, unzuverlässig und belastet fremde Nameserver. Und +all würde jedem Server der Welt das Senden in Ihrem Namen erlauben; der Eintrag wäre syntaktisch gültig und fachlich das Gegenteil dessen, wofür SPF gedacht ist.

Häufige Fehlerbilder

  • Mehr als ein SPF-Record je Domain. Der häufigste Fehler überhaupt und laut RFC ein PermError: beide Records werden dann ignoriert. Wenn ein neuer Anbieter dazukommt, ergänzen Sie ein include im bestehenden Record, statt einen zweiten anzulegen.
  • Zu viele Lookups. Vier oder fünf Anbieter mit je einem include reichen, um die Zehnergrenze zu reißen.
  • Zu früh abweisen. Wer nicht gelistete Server hart abweist, bevor wirklich alle sendenden Systeme im Record stehen, verliert legitime Mail. Markieren (~all) ist der sichere Zwischenschritt.
  • Vergessene Absender. Newsletter-Dienste, Ticketsysteme, Monitoring und Webshops senden oft unter Ihrer Domain, tauchen aber in keiner Liste auf.

Wenn der Record im DNS steht, prüfen Sie ihn mit dem SPF Check: der löst alle include-Ketten auf, zählt die tatsächlichen Lookups und zeigt, welche Netzblöcke am Ende wirklich autorisiert sind.

Häufige Fragen

Brauche ich zwingend einen SPF-Record?
Ohne SPF hat ein empfangender Server keinen Anhaltspunkt, ob Mail mit Ihrer Domain als Absender echt ist. In der Praxis landen solche Nachrichten häufiger im Spam, und DMARC lässt sich ohne SPF oder DKIM nicht sinnvoll durchsetzen. Auch für eine Domain, die überhaupt keine Mail versendet, lohnt sich ein Record: er sagt dann ausdrücklich, dass niemand in ihrem Namen senden darf.
Markieren oder abweisen: was soll ich wählen?
Beginnen Sie mit Markieren (~all). Nachrichten von nicht gelisteten Servern werden dann auffällig, aber nicht verworfen. So merken Sie einen vergessenen Absender, ohne Mail zu verlieren. Abweisen (-all) bricht auch Weiterleitungen und Mailinglisten, die den Absender unverändert weiterreichen. Sobald eine DMARC-Policy durchgesetzt wird, übernimmt ohnehin DMARC die Durchsetzung.
Was bedeutet die Grenze von zehn DNS-Lookups?
RFC 7208 begrenzt die Zahl der Terme, die bei der Auswertung eine DNS-Abfrage auslösen: a, mx, include, exists und redirect zählen mit, ip4 und ip6 nicht. Wird die Grenze überschritten, bricht die Auswertung mit PermError ab und der Record ist wirkungslos. Sie gilt für die gesamte Kette, also einschließlich dessen, was in fremden include-Zielen steckt.
Kann ich mehrere SPF-Records für eine Domain anlegen?
Nein. Eine Domain darf genau einen SPF-Record haben. Zwei Records sind laut RFC ein PermError, und dann gilt keiner von beiden. Der Fehler bleibt oft lange unbemerkt, weil nichts sichtbar kaputtgeht. Wenn ein weiterer Dienst senden soll, nehmen Sie ihn als zusätzliches include in den bestehenden Record auf.
Wo genau trage ich den Record ein?
Als TXT-Eintrag auf dem Namen der Domain selbst, nicht auf einer Unterdomain wie _spf. Bei den meisten Anbietern tragen Sie als Namen @ oder die Domain ein und als Wert den erzeugten Text. Überschreitet der Record 255 Byte, muss er in mehrere Zeichenketten aufgeteilt werden; viele Oberflächen erledigen das selbst.
Warum schlägt der Generator keine Anbieter vor?
Weil Anbieter ihre include-Ziele ändern und eine gepflegte Liste früher oder später falsch ist. Den richtigen Wert nennt Ihnen Ihr Anbieter in seiner Dokumentation; er sieht meist aus wie _spf.google.com oder spf.protection.outlook.com. Tragen Sie ihn als include ein und prüfen Sie das Ergebnis anschließend mit dem SPF Check.
Ändert der Generator etwas an meinem DNS?
Nein. Er erzeugt nur einen Text, den Sie kopieren und selbst bei Ihrem DNS-Anbieter eintragen. Er fragt dafür auch nichts im DNS ab, sondern rechnet ausschließlich aus Ihren Angaben.