Menü

E-Mail-Adresse Format: Syntax, Längen und echte Grenzen

E-Mail-Adresse Format: welche Zeichen und Längen die Norm zulässt, was die Praxis zusätzlich verlangt und warum eine formal gültige Adresse trotzdem abgelehnt wird.

Veröffentlicht am

  • Adresssyntax
  • Validierung
  • Datenfelder

Eine E-Mail-Adresse sieht einfach aus, und ihre Syntax ist es auch – fast. Die Formatregeln sind streng, die meisten Dienste setzen strengere durch, und zwischen beiden liegt eine Lücke, die regelmäßig zu abgelehnten Registrierungen und zu Datenbankfeldern führt, die eine Adresse abschneiden, die eigentlich zulässig war. Wer Adressen erzeugt und speichert, sollte beide Seiten kennen: was das Format erlaubt und was die Praxis verlangt.

Die zwei Hälften um das At-Zeichen

Eine Adresse wird vom At-Zeichen in einen lokalen Teil und eine Domain getrennt. Diese Teilung ist die einzige, die in der gesamten Syntax wirklich bedeutsam ist.

Der lokale Teil steht links und wird vom empfangenden Dienst ausgelegt. Er bezeichnet das Postfach innerhalb dieser Domain, und der Dienst darf entscheiden, welche Zeichen er akzeptiert und ob zwei Bezeichnungen mit unterschiedlicher Groß- und Kleinschreibung dasselbe Postfach meinen.

Die Domain steht rechts und muss von außen nachschlagbar sein. Sie muss veröffentlichen, welcher Server Mail für sie annimmt; ohne diese Angabe gibt es kein Ziel, und der Absender gibt auf, unabhängig davon, wie korrekt der lokale Teil formuliert war.

Aus dieser Ungleichheit folgt für die Praxis eine einfache Regel: Prüfen Sie die Domain streng, denn ein Fehler dort macht die Adresse unmöglich, und behandeln Sie den lokalen Teil großzügig, denn Strenge dort weist nur Adressen zurück, die funktioniert hätten. Wer ein Wegwerf-Postfach für einen Testlauf erzeugt, sieht die Regel direkt am Werk: Der lokale Teil ist frei wählbar, die Domain ist vorgegeben.

Wie lang darf eine Adresse sein?

Die Längengrenzen sind klar, und die Verwirrung darüber entsteht aus einer dritten Zahl, die keine Grenze aus der Norm ist.

Teil Grenze aus der Norm
Lokaler Teil 64 Byte
Domain 255 Byte
Ganze Adresse einschließlich der Winkelklammern 256 Byte

Die Zahl, die in der Praxis tatsächlich zählt, lautet oft anders. Viele Ingenieure begrenzen die gesamte Adresse auf 254 Zeichen, weil sie aus den Umschlagfeldern eine Obergrenze ableiten, die sich rechnerisch aus den Teilgrenzen ergibt. Diese 254 ist eine Konvention aus der Praxis und keine Grenze der Syntax selbst, und wer sie für die Norm hält, baut eine Spalte, die eine Adresse um ein Zeichen abschneidet, die die Norm zulässt.

Die Folge eines zu schmalen Feldes ist schlimmer als ein Fehler. Wird eine Adresse still abgeschnitten, entsteht eine andere Adresse: Mail geht an jemanden, der nichts mit Ihrem Nutzer zu tun hat, und Ihre Prüfung der Adresse ist an einem Text erfolgt, der nie gespeichert wurde. Legen Sie Feldbreiten nach der Norm an, nicht nach dem kürzesten Beispiel, das Sie je gesehen haben – und schneiden Sie niemals ab. Eine Ablehnung ist reparierbar, ein stiller Schnitt ist es nicht.

Standardregeln gelten außerdem für Bytes und nicht für Zeichen. In einem Zeichensatz, in dem ein Zeichen mehr als ein Byte belegt, laufen Byte- und Zeichenzählung auseinander, und eine Prüfung, die Zeichen zählt, während die Norm Bytes zählt, akzeptiert Texte, die sie ablehnen sollte.

Was die Norm erlaubt, aber die meisten Dienste ablehnen

Das Format ist deutlich großzügiger als jedes Produkt, das es verwendet. Die folgenden Konstruktionen sind nach der Norm zulässig und in der Praxis fast immer unbrauchbar:

  • Ein lokaler Teil in Anführungszeichen, der Leerzeichen und Sonderzeichen enthalten darf.
  • Kommentare in Klammern irgendwo innerhalb der Adresse.
  • Eine in eckige Klammern gesetzte Domain als direkte Angabe eines Servers.
  • Nicht-ASCII-Zeichen in einem der beiden Teile, was eine eigene Erweiterung des Übertragungsverfahrens verlangt und lange nicht überall umgesetzt ist.

Diese Merkmale sind nicht kaputt; sie sind selten. Und ein seltenes Merkmal ist in einer Kette aus Formularen, Prüfungen, Datenbanken und Mailservern ein Risiko, weil irgendein Glied es nicht kennt.

Dazu kommt eine Falle, die Teams häufig übersehen: Eine Prüfung, die nach der Norm besteht, sagt nur, dass der Text der Form entspricht. Sie sagt nichts darüber, dass die Domain Mail annimmt, dass das Postfach existiert oder dass dem Kontoinhaber die Adresse gehört. Formatgültigkeit und Erreichbarkeit sind zwei verschiedene Aussagen, und eine Adresse kann die erste erfüllen und die zweite nie leisten.

Warum wird eine gültige Adresse trotzdem abgelehnt?

Weil die dritte Aussage – dass jemand diese Adresse tatsächlich liest – außerhalb der Syntax liegt. Drei Ursachen erklären die meisten Ablehnungen.

Die erste ist eine Domain, die gar keine Mail annimmt. Das ist der Fall, den ein Wegwerf-Postfach bewusst herstellt und den eine Anmeldung am häufigsten zurückweist: Die Form ist einwandfrei, und es gibt keinen Ort, an dem die Nachricht landen könnte. Ein Werkzeug für temporäre E-Mail löst genau diese Lage für einen Testlauf, indem es die Empfangsseite selbst bereitstellt, statt sich auf eine fremde zu verlassen.

Die zweite sind Regeln des Dienstes. Blockiert ein Produkt Wegwerf-Domains, wie im Artikel über die blockierten Wegwerf-Domains beschrieben, dann ist die Adresse nach der Norm gültig und für dieses eine Formular trotzdem unbrauchbar. Das ist eine Richtlinienentscheidung und sollte auch so heißen; sie als Syntaxfehler zu melden, schickt den Nutzer auf die Suche nach einem Tippfehler, den es nicht gibt.

Die dritte sind Groß- und Kleinschreibung sowie Leerraum. Domains sind nicht zwischen Groß- und Kleinschreibung zu unterscheiden, der lokale Teil ist es technisch, und Menschen und Programme, die eine Adresse kopieren, schleppen oft ein führendes oder nachfolgendes Leerzeichen mit. Diesen Leerraum vor der Prüfung zu entfernen, ist eine der wenigen Vorsichtsmaßnahmen, die nie schaden. Einen Unterschied in der Groß- und Kleinschreibung des lokalen Teils zu erzwingen, weist dagegen Adressen zurück, die funktioniert hätten – und ein geändertes Kopieren des lokalen Teils ergibt technisch eine andere Adresse, auch wenn fast alle Dienste beide gleich behandeln. Wie sich diese Frage auf einen Vergleich von Adresstypen auswirkt, behandelt der Artikel über Wegwerf-Adresse oder Alias.

Adressen erzeugen, die Dienste annehmen

Die Antwort ist, langweilig zu sein. Eine Adresse, die überall durchkommt, hat einen lokalen Teil aus gewöhnlichen Buchstaben, Ziffern und einem einzelnen Trennzeichen, der kurz genug ist, um nicht an eine Grenze zu stoßen, und eine Domain, die tatsächlich Mail annimmt und keinen Ruf hat, der sie verdächtig macht.

Für eine Test- oder Staging-Registrierung folgt daraus ein konkretes Vorgehen. Wählen Sie eine Adresse ohne Anführungszeichen, ohne Klammern, ohne eckige Klammern und ohne ungewöhnliche Interpunktion, und verwenden Sie kein Muster, das wie eine Massenanlage aussieht. Achten Sie darauf, dass Ihre Testadresse auf eine Umgebung zeigt, die Sie betreiben, damit ein Test keine echte Postadresse stört. Ein Postfach, das Sie jederzeit mit einer frischen Adresse ersetzen können, ist hier das Arbeitsmittel der Wahl – die Seite für temporäre E-Mail erzeugt eines auf Anforderung.

Es gibt eine Grenze an Aufwand, die sich lohnt, und eine, die es nicht tut. Ein mühsam ausgearbeiteter lokaler Teil, der jede Randbedingung des Formats nutzt, prüft fast nichts, weil kein Produkt ihm begegnet. Eine gewöhnliche Adresse, die Sie wirklich empfangen können, prüft den Ablauf, um den es geht.

Für Entwickler: Prüfung, Feldbreiten und Groß- und Kleinschreibung

Vier Entscheidungen decken den größten Teil der Schäden ab.

Prüfen Sie in Schichten und großzügig. Auf der Ebene der Eingabe genügt eine bescheidene Prüfung: genau ein At-Zeichen, beide Hälften nicht leer, eine Domain mit einer Struktur, die nach Domain aussieht. Widerstandsfähig gegen die Wirklichkeit werden Sie nicht dadurch, dass Sie das Format des lokalen Teils bewachen, sondern dadurch, dass Sie die Domain prüfen und das Ergebnis so formulieren, dass der Nutzer es versteht.

Übernehmen Sie die Grenzen eines Drittsystems nur an der Grenze. Verlangt ein Anbieter eine engere Form, setzen Sie dessen Regel dort durch, wo seine Schnittstelle beginnt, und nennen Sie sie in der Fehlermeldung. Eine Regel an der Eingabemaske durchzusetzen, die in Wahrheit von einem nachgelagerten Dienst stammt, macht die Meldung unerklärlich und zwingt beim Wechsel dieses Dienstes zu einer unbeabsichtigten Änderung.

Speichern Sie nach der Norm. Der lokale Teil braucht Platz für 64 Byte, die Domain für 255, und die ganze Adresse für 256 einschließlich der Winkelklammern. Ein Feld nach der kürzesten zulässigen Adresse zu bemessen ist eine Entscheidung, die Sie später mit einer Datenwanderung bezahlen.

Normalisieren Sie bewusst und dokumentieren Sie es. Das Entfernen von Leerraum an beiden Enden und das Kleinschreiben der Domain sind sicher und erwartet. Den lokalen Teil kleinzuschreiben, ist in der Praxis üblich und streng genommen eine Änderung der Adresse; tun Sie es, wenn Sie es brauchen, aber schreiben Sie es auf, damit die nächste Person nicht rätselt, warum zwei verschiedene Eingaben zu einem Konto geführt haben.

Der letzte Punkt betrifft die Tests. Halten Sie die beiden Aussagen getrennt: dass eine Adresse die Form hat, die Ihr Produkt erwartet, und dass eine Nachricht an sie tatsächlich zugestellt werden kann. Nur die erste lässt sich ohne Netz prüfen. Die zweite braucht einen Empfänger, den Sie betreiben, und wie man sie zuverlässig prüft, beschreibt der Artikel über den Test von Verifizierungsabläufen.

Nächste Schritte

Öffnen Sie das Feld, in dem Ihre Anwendung eine Adresse speichert, und prüfen Sie zwei Dinge: ob es für eine Adresse der zulässigen Länge groß genug ist und ob irgendwo ein Abschneiden geschieht. Verengen Sie dann die Prüfung an der Eingabe auf das Wenige, das wirklich nötig ist, und schreiben Sie die Regeln, die von außen kommen, an die Grenze. Für einen Lauf, der wirklich Post empfangen muss, erzeugt die Seite für temporäre E-Mail eine Adresse in wenigen Sekunden.

Weiterlesen

Artikel zu Temporäre E-Mail (Einweg-E-Mail / 10-Minuten-Mail)