Lonxitude válida do enderezo de correo electrónico

Depositphotos 1948865 s

Hoxe tiven que facer escavacións para atopalo, pero sabías cal é a lonxitude válida dun enderezo de correo electrónico? En realidade está dividido en partes ... Nome@Dominio.com. Isto é segundo RFC2822.

  1. O nome pode ter de 1 a 64 caracteres.
  2. O dominio pode ter de 1 a 255 caracteres.

Vaia ... iso significa que podería ser un enderezo de correo electrónico válido:


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Proba a encaixalo nunha tarxeta de visita. Irónicamente, a maioría dos campos de enderezos de correo electrónico están limitados a 100 caracteres na web. Iso en realidade non é válido. Se desexa validar un enderezo de correo electrónico para a construción adecuada empregando PHP, atopei este fragmento na rede:

http://derrick.pallas.us/email-validator/ # Licenza: Academic Free License 2.1 # Versión: 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]) *) + '.' $ ', $ correo electrónico)) return false; list ($ local, $ domain) = split ("@", $ email, 2); if (strlen ($ local)> 64 || strlen ($ domain)> 255) return false; if ($ check &&! gethostbynamel ($ domain)) devolve false; volver certo; # FIN ######}

9 Comentarios

  1. 1
  2. 2

    Si, notei a falta de cumprimento doutras solucións coa RFC. Non obstante, notei que incluso esta rexión é atípica e non o estándar. Lembro de ler a regla real (permitir <,>, etc.) é demasiado intensivo para a maioría dos procesos.

    Non obstante, está escrito de forma sucinta e definitiva unha solución que debería ser aceptable para calquera aplicación de correo electrónico empresarial.

    Grazas de novo!
    Doug

  3. 3

    Por desgraza, vinculei esa páxina coa RFC incorrecta (2821 en lugar de 2822) pero iso foi corrixido. Os corchetes non poden formar parte das partes locais ou de dominio dun enderezo de correo electrónico; máis ben, representan puntos de tokenización, é dicir, pódense usar para rodear un enderezo de correo electrónico (por exemplo, no seu lector de correo) precisamente porque non poden formar parte do enderezo.

    Unha cousa que a miña función non fai é preocuparse pola forma citada de enderezos de correo electrónico, onde a parte local aparece entre comiñas dobres, porque RFC2821 esencialmente di que ninguén debería ter que escribir o seu enderezo dese xeito. (Creo que o formulario é para compatibilidade con versións anteriores e agora é unha mala práctica.)

  4. 4
  5. 5

    Hai unha restrición na RFC 2821 sobre a lonxitude dunha dirección en comandos MAIL e RCPT de 256 caracteres. O límite superior das lonxitudes de dirección normalmente debería considerarse como 256.

    - Fonte: RFC 3696 Errata

    Ademais, porque RFC 2181 di que "Un nome de dominio completo está limitado a 255 octetos", a xente (incluídos os escritores doutros RFC) interpreta mal varias veces como un significado de que os nomes de dominio poden ter 255 caracteres. Pero RFC2181 fala de representación de nivel de protocolo DNS no fío, non de caracteres imprimibles.

    A lonxitude máxima dun nome de dominio é de 253 caracteres (254 incluído o punto final, 255 octetos no fío con final nulo). E iso é o que implementan BIND e DiG.

  6. 6
  7. 7
  8. 8

¿Que pensas?

Este sitio usa Akismet para reducir o spam. Aprende a procesar os teus datos de comentarios.