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; # FIN ###### }

9 Commentaires

  1. 1
  2. 2

    Oui, j'ai également remarqué le manque de conformité des 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 la regex réelle (permettant <,>, , 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 au mauvais RFC (2821 au lieu de 2822) mais cela a été corrigé. Les chevrons 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 entre guillemets des adresses e-mail - où la partie locale apparaît entre guillemets doubles - car RFC2821 dit essentiellement que personne ne devrait jamais avoir à écrire son adresse de cette façon. (Je crois que le formulaire est pour la rétrocompatibilité 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, parce que la RFC 2181 dit "Un nom de domaine complet est limité à 255 octets", elle est mal interprétée à plusieurs reprises par les gens (y compris les auteurs d'autres RFC) comme signifiant que les noms de domaine peuvent avoir une longueur de 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 avec le point de fin, 255 octets sur le câble avec une terminaison nulle). Et c'est ce que BIND et DiG implémentent.

  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..