¿Cuál es la longitud máxima de una dirección de correo electrónico válida?


¿Cuál es la longitud máxima de una dirección de correo electrónico válida? ¿Está definido por algún estándar?

Author: Rodrigo, 2008-12-22

7 answers

Una dirección de correo electrónico no debe exceder 254 personajes.

Esto fue aceptado por el IETF después de presentado erratum. Un diagnóstico completo de cualquier dirección dada está disponible en línea . La versión original de RFC 3696 describió 320 como la longitud máxima, pero John Klensin posteriormente aceptó un valor incorrecto, ya que un Camino se define como

Path = "<" [ A-d-l ":" ] Mailbox ">"

Así que el elemento Mailbox (es decir, la dirección de correo electrónico) tiene corchetes angulares alrededor de él para formar una ruta, que un máximo longitud de 254 caracteres para restringir la longitud de la ruta a 256 caracteres o menos.

La longitud máxima especificada en RFC 5321 establece:

La longitud total máxima de una ruta inversa o hacia adelante es de 256 caracteres.

RFC 3696 fue corregido aquí.

Ahora he recopilado casos de prueba de Cal Henderson, Dave Child, Phil Haack, Doug Lovell y RFC 3696. 158 direcciones de prueba en total.

Hice todas estas pruebas contra todos los validadores que pude encontrar. La comparación está aquí: http://www.dominicsayers.com/isemail

Trataré de mantener esta página actualizada a medida que las personas mejoren sus validadores. Gracias a Cal, Dave y Phil por su ayuda y cooperación en la compilación de estas pruebas y la crítica constructiva de mi propio validador.

La gente debe ser consciente de la errata contra RFC 3696 en particular. Tres de los ejemplos canónicos son de hecho direcciones inválidas.

 1022
Author: Dominic Sayers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-13 22:18:27

320

Y los segmentos se ven así

{64}@{255}

64 + 1 + 255 = 320

También debe leer esto si está validando correos electrónicos

Http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx

 22
Author: Bob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-22 14:00:51

Usuario

La longitud total máxima de un nombre de usuario es de 64 caracteres.

Dominio

Máximo de 255 caracteres en la parte del dominio (la que sigue a "@")

Sin Embargo, hay una restricción en RFC 2821 lectura:

La longitud total máxima de una trayectoria inversa o hacia adelante es de 256 caracteres, incluyendo la puntuación y los separadores de elementos". Ya direcciones que no encajan esos campos no son normalmente útiles, el el límite superior de longitud de las direcciones debe considerarse normalmente como 256, pero una ruta se define como: Path = " " El camino de avance contendrá al menos un par de corchetes angulares en adición al buzón, que limita la dirección de correo electrónico a 254 caracter.

 8
Author: Artem_Kovalyov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-19 21:46:36

Para ayudar a los novatos confundidos como yo, la respuesta a "¿Cuál es la longitud máxima de una dirección de correo electrónico válida?"es 254 caracteres.

Si su aplicación usa un correo electrónico, simplemente configure su campo para aceptar 254 caracteres o menos y estará listo.

Puede ejecutar un montón de pruebas en un correo electrónico para ver si es válido aquí. http://isemail.info /

El RFC, o Solicitud de Comentarios, es un tipo de publicación del Grupo de Trabajo de Ingeniería de Internet (IETF) eso define 254 caracteres como límite. Encuentra aquí - https://tools.ietf.org/html/rfc5321#section-4.5.3

 7
Author: Joshua Dance,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-01 21:58:57

De acuerdo con el siguiente artículo:

Http://tools.ietf.org/html/rfc3696 (Página 6, Sección 3)

Se menciona que:

" Hay un límite de longitud en direcciones de correo electrónico. Ese límite es un máximo de 64 caracteres (octetos) en la "parte local" (antes de la "@") y un máximo de 255 caracteres (octetos) en la parte de dominio (después de"@") para una longitud total de 320 caracter. Los sistemas que manejan el correo electrónico deben estar preparados para procesar direcciones que son tan largas, aunque rara vez son encontrar."

Por lo tanto, la longitud total máxima de una dirección de correo electrónico es de 320 caracteres ("parte local": 64 + "@": 1 + "dominio parte": 255 que suma a 320)

 0
Author: Waqar UlHaq,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-04 07:27:04

Las otras respuestas enturbian un poco el agua. Respuesta simple: 254 caracteres totales en nuestro control para el correo electrónico 256 son para TODA la dirección de correo electrónico, que incluye "" al final. Por lo tanto, quedan 254 para nuestro uso.

 0
Author: Forrest,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-12 20:14:22

64 para la parte local (la cuenta/nombre) y 255 para el dominio. Creo que el signo @ se contará extra por lo que suma a 320.

Pero precaución: esto es solo la longitud de la dirección real. Una dirección puede contener un nombre para mostrar. Tal dirección se parece a first last <local@domain> y a menudo se extenderá 320.

 -1
Author: Arne Burmeister,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-22 14:10:44