Was ist die maximale Länge einer gültigen E-Mail-Adresse?

988

Was ist die maximale Länge einer gültigen E-Mail-Adresse? Ist es durch irgendeinen Standard definiert?

flüchtig
quelle
Welche Art von E-Mail-Adresse? Internet, X.400 oder andere?
Toby Speight
Beachten Sie, dass die Längenbeschränkung, die Ihre App für E-Mail-Adressen festlegen sollte, möglicherweise nicht dem theoretischen Maximum entspricht (das länger als dieser gesamte Kommentar ist ). Andere Antworten diskutieren diese Frage, zB: stackoverflow.com/questions/1297272
MGOwen

Antworten:

1206

Eine E-Mail-Adresse darf 254 Zeichen nicht überschreiten .

Dies wurde von der IETF nach dem eingereichten Erratum akzeptiert . Eine vollständige Diagnose einer bestimmten Adresse ist online verfügbar . In der Originalversion von RFC 3696 wurde 320 als maximale Länge beschrieben, aber John Klensin akzeptierte anschließend einen falschen Wert, da ein Pfad als definiert ist

Path = "<" [ A-d-l ":" ] Mailbox ">"

Das Mailbox-Element (dh die E-Mail-Adresse) ist also in spitzen Klammern angeordnet, um einen Pfad zu bilden, der maximal 254 Zeichen lang ist, um die Pfadlänge auf 256 Zeichen oder weniger zu beschränken.

Die in RFC 5321 angegebene maximale Länge lautet:

Die maximale Gesamtlänge eines Rückwärts- oder Vorwärtspfads beträgt 256 Zeichen.

RFC 3696 wurde hier korrigiert .

Die Leute sollten sich insbesondere der Errata gegen RFC 3696 bewusst sein . Drei der kanonischen Beispiele sind tatsächlich ungültige Adressen.

Ich habe ein paar hundert Testadressen zusammengestellt, die Sie unter http://www.dominicsayers.com/isemail finden

Dominic Sayers
quelle
7
Was ist mit dem neuen RFC-Standard, der Unicode in E-Mail-Adressen zulässt?
Pacerier
3
Wie viele Zeichen vor dem @ und wie viele danach oder spielt es keine Rolle?
Systemovich
5
@Lodewijk RFC 3696 ist kein Standard, sondern versucht lediglich, die zugrunde liegenden Standards korrekt zu interpretieren. Leider hat Klensin bei seinem Versuch, die Situation zu klären, einige grobe Fehler berücksichtigt, die in den Errata korrigiert wurden. Aber niemand liest die Errata, so dass RFC 3693 ironischerweise sehr wenig hilfreich ist.
Dominic Sayers
3
Ich glaube, bei internationalisierten E-Mail-Adressen wäre es korrekter, das Limit als 254 Oktette und nicht als Zeichen zu definieren . Aber ich bin mir nicht sicher. RFC 6531 erweitert den RFC 5321-Rückwärts- und Vorwärtspfad, um UTF-8-Zeichen zuzulassen. RFC 5321 gibt jedoch ausdrücklich an, dass das Limit "256 Oktette" einschließlich Trennzeichen beträgt (eine absichtliche Änderung gegenüber RFC 2821, in der "Zeichen" angegeben sind). Ich glaube , dass die 256-Byte - Grenze (minus 2 für 254) nicht abgelöst wird, und die effektive Zeichengrenze für Adressen mit Multi-Byte - UTF-8 - Zeichen reduziert.
Andre D
1
@JohnLBevan, da Domains neben E-Mails auch für andere Zwecke verwendet werden und von verschiedenen RFCs definiert werden. Ich bin sicher, Jon Postel wünschte, er könnte es konsistenter machen, aber zu der Zeit waren die meisten Domains sehr kurz und es wäre übertrieben gewesen, die Umschlagadressen in zwei oder mehr Pakete aufzuteilen, nur um das Potenzial für sehr lange Domains zu berücksichtigen Namen.
Dominic Sayers
38

320

Und die Segmente sehen so aus

{64} @ {255}

64 + 1 + 255 = 320

Sie sollten dies auch lesen, wenn Sie E-Mails validieren

http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx

Bob
quelle
Gemäß dieser Spezifikation (für Studentendarlehensdaten) nchelp.org/elibrary/ESC/CommonRecord-CommonLineDocumentation/… auf Seite 20: "Die E-Mail-Länge wurde geändert, um den aktuellen ANSI-Standards zu entsprechen. Die E-Mail-Adresse ist eine maximale Länge von 128 Zeichen. " Hmm.
Nathan
8
Hier ist ein schöner Artikel, der verschiedene Mythen über E-Mails zerstreut, darunter "max len == 320". Das Limit ist tatsächlich 254.
Carl
26
Wo ist der schöne Artikel?
Bob
1
Diese Antwort ist richtig. Diese E-Mails sind gültig, aber absolut unbrauchbar, da 2821 MAIL / RCPT-Befehle mit <>Klammern auf 256 beschränkt ...
vp_arth
1
Beinhaltet das E-Mails im Format user+inbox@domain?
Aaron Esau
20

Benutzer

Die maximale Gesamtlänge eines Benutzernamens beträgt 64 Zeichen.

Domain

Maximal 255 Zeichen im Domain-Teil (das nach dem "@")

Es gibt jedoch eine Einschränkung beim Lesen von RFC 2821 :

Die maximale Gesamtlänge eines Rückwärts- oder Vorwärtspfads beträgt 256 Zeichen, einschließlich Interpunktions- und Elementtrennzeichen. “ Da Adressen, die nicht in diese Felder passen, normalerweise nicht nützlich sind, sollte die Obergrenze für Adresslängen normalerweise als 256 angesehen werden. Ein Pfad ist jedoch definiert als: Pfad = "<" [Adl ":"] Mailbox "> ”Der Vorwärtspfad enthält zusätzlich zur Mailbox mindestens ein Paar spitze Klammern, wodurch die E-Mail-Adresse auf 254 Zeichen begrenzt wird.

Artem Kovalov
quelle
7
Coole, alte rfc von 1982 ... Es gibt rfc5321 für SMTP
vp_arth
14

Um den verwirrten Neulingen wie mir zu helfen, die Antwort auf "Was ist die maximale Länge einer gültigen E-Mail-Adresse?" ist 254 Zeichen .

Wenn Ihre Anwendung eine E-Mail verwendet, stellen Sie Ihr Feld so ein, dass maximal 254 Zeichen akzeptiert werden, und Sie können loslegen.

Sie können eine Reihe von Tests für eine E-Mail ausführen, um festzustellen, ob sie hier gültig ist. http://isemail.info/

Der RFC oder Request for Comments ist eine Art von Veröffentlichung der Internet Engineering Task Force (IETF), die 254 Zeichen als Limit definiert. Befindet sich hier - https://tools.ietf.org/html/rfc5321#section-4.5.3

Joshua Dance
quelle
12

Die anderen Antworten trüben das Wasser ein wenig. Einfache Antwort: 254 Zeichen in unserer Kontrolle für E-Mail 256 beziehen sich auf die GESAMTE E-Mail-Adresse, die am Anfang implizites "<" und am Ende ">" enthält. Daher bleiben 254 für unseren Gebrauch übrig.

Wald
quelle
4

Nach dem folgenden Artikel:

http://tools.ietf.org/html/rfc3696 (Seite 6, Abschnitt 3)

Es wird erwähnt, dass:

"Es gibt eine Längenbeschränkung für E-Mail-Adressen. Diese Beschränkung beträgt maximal 64 Zeichen (Oktette) im" lokalen Teil "(vor dem" @ ") und maximal 255 Zeichen (Oktette) im Domänenteil (nach dem.") "@") für eine Gesamtlänge von 320 Zeichen. Systeme, die E-Mails verarbeiten, sollten darauf vorbereitet sein, so lange Adressen zu verarbeiten, auch wenn sie selten vorkommen. "

Die maximale Gesamtlänge für eine E-Mail-Adresse beträgt also 320 Zeichen ("lokaler Teil": 64 + "@": 1 + "Domain-Teil": 255, was 320 ergibt).

Waqar UlHaq
quelle
Könnten Sie mir bitte einen regulären Ausdruck in Javascript geben, um die E-Mail-ID mit 320 Zeichen zu überprüfen? Danke im Voraus.
Kamlesh
1
Dieser Teil des Standards wurde in Errata geändert, um eine Gesamtbeschränkung von 254 Zeichen aufzunehmen. Einzelheiten und Links zu den Errata finden Sie in der akzeptierten Antwort.
Matthijs Kooijman