Ein TXT-Record ist kein einzelner String. RFC 1035 speichert ihn als Folge von Character-Strings mit je höchstens 255 Byte, und ein Resolver fügt sie ohne irgendetwas dazwischen wieder zusammen. Deshalb muss ein 2048-Bit-DKIM-Schlüssel als mehrere Anführungsblöcke in die Zonendatei, und deshalb bricht ein Trennen an der falschen Stelle – oder ein Leerzeichen zwischen den Teilen – die Mailsignatur auf eine schwer zu findende Weise. Dieses Werkzeug schneidet an Bytegrenzen, nie mitten in einem Zeichen, und formatiert das Ergebnis für BIND, als geklammerten Eintrag oder als JSON-Array.
Funktionen
Teilt an 255-Byte-Grenzen und zählt dabei Bytes, nicht Zeichen
Trennt nie ein Mehrbyte-Zeichen oder ein Surrogatpaar
Formate: BIND einzeilig, geklammert, nur die Strings oder JSON-Array
Bytezahl je Teilstück, damit sichtbar ist, welche Strings voll sind
Warnt vor Leerzeichen, vorhandenen Anführungszeichen und Records über 512 Byte
Fügt Strings aus einer Zonendatei oder einer dig-Antwort wieder zusammen
Beispiele für 2048-Bit-DKIM, langes SPF und Verifizierungs-Token
So verwendest du DNS-TXT-Record-Teiler
Fügen Sie den vollständigen TXT-Wert ein – Anführungszeichen kommen automatisch
Tragen Sie Recordnamen und TTL ein, wenn Sie eine ganze Zonenzeile wollen
Wählen Sie das Ausgabeformat Ihres DNS-Anbieters
Kopieren Sie den Record oder nutzen Sie den Reiter zum Zusammenfügen
default._domainkey 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIja…" "…QIDAQAB"
Zwei Strings in Anführungszeichen, die der Resolver ohne Trennzeichen aneinanderhängt.
Häufige Fehler & Fehlerbehebung
Der DNS-Anbieter lehnt den Record als zu lang ab. — Er wendet die 255-Byte-Grenze auf einen einzelnen String an. Fügen Sie die geteilte Fassung ein, jeden Teil einzeln in Anführungszeichen.
Die DKIM-Prüfung schlägt nach dem Teilen fehl. — Fast immer ein Leerzeichen zwischen den Teilen. Resolver hängen die Strings ohne alles aneinander, sodass jedes eingefügte Zeichen Teil des Schlüssels wird.
Der Recordwert enthält bereits Anführungszeichen. — Fügen Sie den rohen Wert ein. Die Anführungszeichen entstehen beim Formatieren, und ein bereits zitierter Wert wird sonst doppelt eingefasst.
Die Teilstücke sind kürzer als 255 Zeichen. — Die Grenze liegt bei 255 Byte, nicht Zeichen. Nicht-ASCII belegt zwei bis vier Byte je Zeichen, sodass ein Stück weniger Zeichen haben und trotzdem voll sein kann.
Häufig gestellte Fragen
Warum ist ein TXT-Record auf 255 Zeichen begrenzt?
Jeder String in einem TXT-Record trägt ein Längenbyte, was einen String auf 255 Byte begrenzt. Der ganze Record darf viele davon enthalten, die eigentliche Grenze ist also die DNS-Nachrichtengröße.
Wie fügt ein Resolver geteilte TXT-Strings wieder zusammen?
Er hängt sie in der Reihenfolge ohne jedes Trennzeichen aneinander. Genau darauf bauen DKIM, SPF und Verifizierungs-Token, weshalb die Trennstelle egal ist, solange nichts eingefügt wird.
Wo soll ich einen DKIM-Schlüssel teilen?
Überall, solange jedes Stück höchstens 255 Byte hat. Für den Prüfer ist der Schlüssel nach dem Zusammenfügen ein einziger Base64-String, ein Schnitt mitten im Base64 ist also unproblematisch.
Wie groß darf der ganze TXT-Record werden?
In der Praxis einige Kilobyte, aber Antworten über etwa 512 Byte brauchen EDNS oder einen TCP-Versuch. Manche Resolver kommen damit schlecht zurecht, also vermeidet ein kleinerer Record sporadische Fehler.
Muss ich einen SPF-Record genauso teilen?
Nur wenn ein einzelner String 255 Byte übersteigt, was bei vielen Includes vorkommt. SPF hat zudem ein eigenes Limit von zehn DNS-Abfragen, gegen das Teilen nicht hilft.