Longueur d'adresse e-mail valide

Depositphotos 1948865 s

J'ai dû faire quelques recherches aujourd'hui pour le trouver, mais saviez-vous quelle est la longueur valide d'une adresse e-mail? Il est en fait divisé en plusieurs parties ... Nom@Domaine.com. C'est selon RFC2822.

  1. Le nom peut comprendre de 1 à 64 caractères.
  2. Le domaine peut comporter de 1 à 255 caractères.

Wow… cela signifie qu'il pourrait s'agir d'une adresse e-mail valide:


loremaipsumadolorasitaametbaconsectetueraadipiscine
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatine
ciduntaliberoaaugueavestibulumaeratcaPhasellusatine
ciduntaturpisaduis.com

Essayez de mettre cela sur une carte de visite! Ironiquement, la plupart des champs d'adresse e-mail sont limités à 100 caractères sur le Web. Ce n'est en fait pas valable. Si vous souhaitez valider une adresse e-mail pour une construction correcte en utilisant PHP, j'ai trouvé cet extrait sur le net:

http://derrick.pallas.us/email-validator/ # Licence: Academic Free License 2.1 # Version: 2006-12-01a if (! ereg (''. '^'. '[-! # $% & \ '* + / 0-9 =? AZ ^ _a-z {|} ~]'. '(\\.? [-! # $% & \' * + / 0-9 =? AZ ^ _a-z { |} ~]) * '.' @ '.' [a-zA-Z] (-? [a-zA-Z0-9]) * '.' (\\. [a-zA-Z] (- ? [a-zA-Z0-9]) *) + '.' $ ', $ email)) return false; list ($ local, $ domain) = split ("@", $ email, 2); if (strlen ($ local)> 64 || strlen ($ domain)> 255) return false; if ($ check &&! gethostbynamel ($ domain)) return false; retourne vrai; # FINIR ###### }

9 Commentaires

  1. 1
  2. 2

    Oui, j'ai également remarqué le manque de conformité d'autres solutions avec la RFC. J'ai remarqué, cependant, que même cette expression régulière est atypique et non standard. Je me souviens que la lecture de l'expression régulière réelle (autoriser <,>,, etc.) est trop intensive pour la plupart des processus.

    Cependant, il est écrit succinctement et définitivement une solution qui devrait être acceptable pour toute application de messagerie d'entreprise.

    Merci encore!
    Doug

  3. 3

    Malheureusement, j'ai lié cette page à la mauvaise RFC (2821 au lieu de 2822) mais cela a été corrigé. Les crochets angulaires ne peuvent pas faire partie des parties locales ou de domaine d'une adresse e-mail; ils représentent plutôt des points de tokenisation, c'est-à-dire qu'ils peuvent être utilisés pour entourer une adresse e-mail (par exemple dans votre lecteur de messagerie) précisément parce qu'ils ne peuvent pas faire partie de l'adresse.

    Une chose que ma fonction ne fait pas est de s'inquiéter de la forme citée des adresses e-mail - où la partie locale apparaît entre guillemets - car la RFC2821 dit essentiellement que personne ne devrait jamais avoir à écrire son adresse de cette façon. (Je crois que le formulaire est pour la compatibilité ascendante et est maintenant une mauvaise pratique.)

  4. 4

    En fait, RFC2821 EST la référence correcte pour la longueur de l'adresse e-mail. Je l'ai trouvé là-bas, mais pas dans la RFC 2822.

  5. 5

    Il existe une restriction dans la RFC 2821 sur la longueur d'une adresse dans les commandes MAIL et RCPT de 256 caractères. La limite supérieure des longueurs d'adresse doit normalement être considérée comme étant de 256.

    - Source: Errata RFC 3696

    De plus, comme la RFC 2181 dit «Un nom de domaine complet est limité à 255 octets», il est souvent mal interprété par les gens (y compris les rédacteurs d'autres RFC) comme signifiant que les noms de domaine peuvent comporter 255 caractères. Mais RFC2181 parle de représentation au niveau du protocole DNS sur le fil, pas de caractères imprimables.

    La longueur maximale d'un nom de domaine est de 253 caractères (254 y compris le point final, 255 octets sur le fil avec un nul de fin). Et c'est ce que mettent en œuvre BIND et DiG.

  6. 6
  7. 7
  8. 8

Que pensez-vous?

Ce site utilise Akismet pour réduire les spams. Découvrez comment sont traitées les données de vos commentaires..