Comprimento de endereço de email válido

Depositphotos 1948865 s

Eu tive que fazer algumas pesquisas hoje para encontrá-lo, mas você sabia qual é o comprimento válido de um endereço de e-mail? Na verdade, está dividido em partes ... Nome@Domínio.com. Isso está de acordo com RFC2822.

  1. O nome pode ter de 1 a 64 caracteres.
  2. O domínio pode ter de 1 a 255 caracteres.

Uau ... isso significa que este pode ser um endereço de e-mail válido:


loremaipsumadolorasitaametbaconsectetueraadipiscina
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntmadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaFaselusatina
ciduntaturpisaduis. com

Tente encaixar isso em um cartão de visita! Ironicamente, a maioria dos campos de endereço de e-mail são limitados a 100 caracteres na web. Na verdade, isso não é válido. Se você gostaria de validar um endereço de e-mail para uma construção adequada utilizando PHP, encontrei este snippet na rede:

http://derrick.pallas.us/email-validator/ # Licença: Licença Acadêmica Livre 2.1 # Versão: 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; lista ($ local, $ domínio) = divisão ("@", $ email, 2); if (strlen ($ local)> 64 || strlen ($ domínio)> 255) retorna falso; if ($ check &&! gethostbynamel ($ domain)) return false; return true; # FIM ###### }

9 Comentários

  1. 1
  2. 2

    Sim, notei a falta de conformidade de outras soluções com a RFC também. Eu notei, porém, que mesmo esse regex é atípico e não o padrão. Lembro-me de ler o regex real (permitindo <,>, , etc) ser muito intensivo para a maioria dos processos.

    No entanto, está escrito de forma sucinta e definitivamente uma solução que deve ser aceitável para qualquer aplicativo de email corporativo.

    Obrigado novamente!
    Doug

  3. 3

    Infelizmente, vinculei essa página ao RFC errado (2821 em vez de 2822), mas isso foi corrigido. Os colchetes angulares não podem fazer parte das partes locais ou de domínio de um endereço de e-mail; em vez disso, eles representam pontos de tokenização, ou seja, eles podem ser usados ​​para cercar um endereço de e-mail (por exemplo, em seu leitor de e-mail) precisamente porque não podem fazer parte do endereço.

    Uma coisa que minha função não faz é se preocupar com a forma citada de endereços de e-mail - onde a parte local aparece entre aspas duplas - porque a RFC2821 essencialmente diz que ninguém deveria ter que escrever seu endereço dessa maneira. (Acredito que o formulário é para compatibilidade com versões anteriores e agora é uma prática ruim.)

  4. 4
  5. 5

    Há uma restrição no RFC 2821 no comprimento de um endereço nos comandos MAIL e RCPT de 256 caracteres. O limite superior em comprimentos de endereço normalmente deve ser considerado como 256.

    — Fonte: RFC 3696 Errata

    Além disso, como o RFC 2181 diz “Um nome de domínio completo é limitado a 255 octetos”, ele é repetidamente mal interpretado pelas pessoas (incluindo os escritores de outros RFCs) como significando que os nomes de domínio podem ter 255 caracteres. Mas o RFC2181 está falando sobre representação de nível de protocolo DNS no fio, não caracteres imprimíveis.

    O comprimento máximo de um nome de domínio é de 253 caracteres (254 incluindo ponto final, 255 octetos no fio com terminação nula). E é isso que BIND e DiG implementam.

  6. 6
  7. 7
  8. 8

O que você acha?

Este site usa o Akismet para reduzir o spam. Saiba como seus dados de comentário são processados.