Quelle est la longueur maximale d'une adresse électronique valide ? Est-elle définie par une norme ?
Réponses
Trop de publicités?Réponse TLDR
Étant donné une adresse e-mail comme...
me@example.com
Les limites de longueur sont les suivantes :
- Adresse électronique complète (alias : "Le chemin" ) : c'est-à-dire, me@example.com --
256
caractères maximum. - Local-Part : c'est-à-dire, moi --
64
caractère maximum. - Domaine : c'est-à-dire, exemple.com --
254
caractères maximum.
Source - TLDR ;
Les normes RFC sont en constante évolution, mais si vous voulez une source IETF 2009 en une seule ligne :
...la limite supérieure de la longueur des adresses doit normalement être considérée comme étant de 256. (Source : _RFC3696_ .)
Source - L'histoire
SMTP a défini à l'origine ce qu'était un chemin dans RFC821 publié en août 1982, qui est une norme Internet officielle (la plupart des RFC ne sont que des propositions). Pour le citer...
...un chemin inverse, précise de qui provient le courrier.
...un forward-path, qui spécifie à qui le courrier est destiné.
RFC2821 publiée en avril 2001, est la norme obsolète qui a défini nos valeurs maximales actuelles pour les parties locales, les domaines et les chemins. Un nouveau projet de norme, RFC5321 publié en octobre 2008, conserve les mêmes limites. Entre ces deux dates, RFC3696 a été publié, en février 2004. Il cite par erreur la limite maximale d'adresses e-mail comme étant 320
-mais ce document n'est qu'informatif et stipule : "Ce mémo fournit des informations pour la communauté Internet. Il ne spécifie pas une norme Internet de quelque nature que ce soit." Donc, nous pouvons l'ignorer.
Pour citer la RFC2821, la norme moderne et acceptée, confirmée par la RFC5321...
4.5.3.1.1. Partie locale
La longueur totale maximale d'un nom d'utilisateur ou d'une autre partie locale est de 64 caractères. caractères.
4.5.3.1.2. Domaine
La longueur totale maximale d'un nom de domaine ou d'un numéro est de 255 caractères.
4.5.3.1.3. Chemin d'accès
La longueur totale maximale d'un chemin inverse ou d'un chemin direct est de 256 caractères (y compris la ponctuation et les séparateurs d'éléments). caractères (y compris la ponctuation et les séparateurs d'éléments).
Vous remarquerez que j'indique un domaine maximum de 254 et que le RFC indique un domaine maximum de 255. Il s'agit d'une simple question d'arithmétique. Un domaine de 255 caractères, plus le signe "@", correspond à un chemin de 256 caractères, ce qui est la longueur maximale du chemin. Cependant, un nom vide ou vierge n'est pas valide, de sorte que le domaine a en réalité un maximum de 254.
64 pour la partie locale (le compte/nom) et 255 pour le domaine. Je pense que le @
Le signe sera compté en plus, ce qui donne un total de 320.
Mais attention : il ne s'agit que de la longueur de l'adresse réelle. Une adresse peut contenir un nom d'affichage. Une telle adresse ressemble à first last <local@domain>
et prolongera souvent le délai de 320 jours.
Malheureusement, toutes les autres réponses sont fausses. La plupart d'entre elles citent la RFC 2821 ou une version plus récente, qui ne définit même pas les adresses électroniques. Ce qu'elle fait, c'est définir chemins . Les adresses électroniques sont définies par la RFC 2822 (ou une version plus récente) et peuvent être beaucoup plus longues. Voici des exemples d'adresses valables qui ne sont pas des chemins d'accès valables :
(Firstname Lastname) user@domain
Firstname Lastname <user@domain>
Il s'agit dans les deux cas de la même boîte aux lettres écrite différemment. Ainsi, si votre objectif est de stocker des adresses électroniques dans une base de données, une limite de 254, 256 ou 320 octets peut être trop basse, bien qu'en pratique, cela pose rarement problème.
- Réponses précédentes
- Plus de réponses
0 votes
Quel type d'adresse électronique ? Internet, X.400, ou autre ?
0 votes
Notez que la limite de longueur que votre application doit imposer pour les adresses électroniques pourrait pas être le même que le maximum théorique (qui est plus long que tout ce commentaire ). D'autres réponses traitent de cette question, par exemple : stackoverflow.com/questions/1297272