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 ... Name@Domain.com. Questu hè secondu RFC2822.

  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! Ironicamente, 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: 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)) restituisce falsu; list ($ lucale, $ duminiu) = split ("@", $ email, 2); if (strlen ($ locale)> 64 || strlen ($ duminiu)> 255) restituisce 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 suluzione cù a RFC dinù. Aghju rimarcatu, però, chì ancu questu regiu hè atipicu è micca u standard. Mi ricordu di avè lettu u regiu propiu (permettendu <,>,, ecc) hè troppu intensivu per a maiò parte di i prucessi.

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

    Grazie, Di novu!
    Steven

  3. 3

    Sfurtunatamente, aghju ligatu quella pagina à a RFC sbagliata (2821 invece di 2822) ma hè stata curretta. I parentesi angulari ùn ponu micca fà parte di e parte lucale o di duminiu di un indirizzu email; piuttostu, raprisentanu punti di tokenizazione, vale à dì ponu esse aduprati per circundà un indirizzu email (per esempiu in u vostru lettore di mail) precisamente perchè ùn ponu micca esse parte di l'indirizzu.

    Una cosa chì a mo funzione ùn face micca hè di preoccupassi per a forma citata di indirizzi email - induve a parte locale appare in virgolette doppie - perchè RFC2821 dice essenzialmente chì nimu ùn deve mai avè da scrive u so indirizzu cusì. (Credu chì a forma hè per cumpatibilità retroattiva è hè oramai una cattiva 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 restrizione in RFC 2821 nantu à a lunghezza di un indirizzu in cumandamenti MAIL è RCPT di 256 caratteri. U limite superiore per e lunghezze di l'indirizzu duverebbe normalmente esse cunsideratu cum'è 256.

    - Fonte: RFC 3696 Errata

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

    A lunghezza massima di un nome di duminiu hè 253 caratteri (254 cumpresu u puntu finale, 255 ottetti nantu à u filu cù a fine null). È 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.