Lunghezza d'indirizzu email validu

Depositphotos 1948865 s

Aviu avutu da fà qualchì scavatura oghje per truvallu, ma sapete quale hè a lunghezza valida di un indirizzu email? Hè veramente suddivisu in parti ... Nome@Domain.com. Questu hè secondu RFC 2822.

  1. U nome pò esse da 1 à 64 caratteri.
  2. U duminiu pò esse da 1 à 255 caratteri.

Wow ... significa chì questu puderia esse un indirizzu email validu:


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Pruvate di mette questu nantu à una carta di visita! Iruramente, a maiò parte di i campi d'indirizzu email sò limitati à 100 caratteri in u web. Hè veramente micca validu. Se vulete validà un indirizzu email per una custruzzione curretta aduprendu PHP, aghju trovu stu frammentu in rete:

http://derrick.pallas.us/email-validator/ # Licenza: Licenza Accademica Libera 2.1 # Versione: 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)) restituisce falsu; list ($ lucale, $ duminiu) = split ("@", $ email, 2); if (strlen ($ locale)> 64 || strlen ($ duminiu)> 255) torna falsu; if ($ verificà &&! gethostbynamel ($ duminiu)) torna falsu; vultà veru; # END ######}

9 Comments

  1. 1
  2. 2

    Iè, aghju nutatu a mancanza di cunfurmità di altre suluzioni cù u RFC ancu. Aghju nutatu, però, chì ancu questu regex hè atipicu è micca u standard. Mi ricordu di leghje a regex attuale (permette <,>, , etc) hè troppu intensiva per a maiò parte di i prucessi.

    Tuttavia, hè scrittu succintamente è definitivamente una soluzione chì deve esse accettata per qualsiasi applicazione di e-mail d'impresa.

    Grazie, di novu!
    Steven

  3. 3

    Sfurtunatamente, aghju ligatu quella pagina à u RFC sbagliatu (2821 invece di 2822) ma hè stata corretta. I parentesi angulari ùn ponu micca esse parti di e parti lucali o di duminiu di un indirizzu email; piuttostu, rapprisentanu punti di tokenizazione, vale à dì ponu esse usatu per circundà un indirizzu email (per esempiu in u vostru lettore di mail) precisamente perchè ùn ponu micca esse parti di l'indirizzu.

    Una cosa chì a mo funzione ùn face micca hè preoccupatu di a forma citata di l'indirizzi email - induve a parte lucale appare in virgulette doppie - perchè RFC2821 dice essenzialmente chì nimu ùn deve mai avè da scrive u so indirizzu cusì. (Credu chì a forma hè per a cumpatibilità inversa è hè avà una mala pratica).

  4. 4

    In realtà RFC2821 hè a riferenza curretta per a lunghezza di l'indirizzu email. L'aghju trovu quì, ma micca in RFC 2822.

  5. 5

    Ci hè una restrizzione in RFC 2821 nantu à a lunghezza di un indirizzu in MAIL è cumandamenti RCPT di 256 caratteri. U limitu massimu di lunghizza di l'indirizzu deve esse generalmente cunsideratu 256.

    — Source: RFC 3696 Errata

    Inoltre, perchè RFC 2181 dice "Un nome di duminiu cumpletu hè limitatu à 255 ottetti", hè ripetutamente misinterpretatu da e persone (cumpresi i scrittori di altri RFC) chì significa chì i nomi di duminiu ponu esse 255 caratteri longu. Ma RFC2181 parla di rapprisintazioni à livellu di protocolu DNS nantu à u filu, micca caratteri stampabili.

    A durata massima di un nome di duminiu hè di 253 caratteri (254 cumpresi u puntu finale, 255 ottetti nantu à u filu cù u nulu di terminazione). È questu hè ciò chì BIND è DiG implementanu.

  6. 6
  7. 7
  8. 8

Chì ne pensi?

Stu situ utilizeghja Akismet per reducisce u puzzicheghju. Sapete ciò chì i dati di i vostri dati è processatu.