Qual é o tamanho máximo de um endereço de email válido?


988

Qual é o tamanho máximo de um endereço de email válido? É definido por algum padrão?


Que tipo de endereço de email? Internet, X.400 ou outro?
Toby Speight

Observe que o limite de comprimento que seu aplicativo deve impor para endereços de e-mail pode não ser o mesmo que o máximo teórico (que é maior que todo esse comentário ). Outras respostas discutem essa pergunta, por exemplo: stackoverflow.com/questions/1297272
MGOwen

Respostas:


1207

Um endereço de email não deve exceder 254 caracteres.

Isso foi aceito pela IETF após a apresentação de uma errata . Um diagnóstico completo de qualquer endereço está disponível online . A versão original do RFC 3696 descreveu 320 como o tamanho máximo, mas John Klensin posteriormente aceitou um valor incorreto, uma vez que Path é definido como

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

Portanto, o elemento Caixa de Correio (ou seja, o endereço de email) possui colchetes angulares ao redor para formar um Caminho, com um comprimento máximo de 254 caracteres para restringir o comprimento do Caminho a 256 caracteres ou menos.

O comprimento máximo especificado na RFC 5321 declara:

O comprimento total máximo de um caminho reverso ou avançado é de 256 caracteres.

A RFC 3696 foi corrigida aqui .

As pessoas devem estar cientes da errata contra a RFC 3696 em particular. Três dos exemplos canônicos são de fato endereços inválidos.

Reuni algumas centenas de endereços de teste, que você pode encontrar em http://www.dominicsayers.com/isemail


7
E o novo padrão RFC que permite Unicode em endereços de email?
Pacerier

3
Quantos caracteres antes do @ e quantos depois, ou isso não importa?
systemovich

5
@Lodewijk RFC 3696 não é um padrão, apenas tenta ajudar as pessoas a interpretar os padrões subjacentes corretamente. Infelizmente, na tentativa de esclarecer a situação, Klensin incluiu alguns erros graves que foram corrigidos na Errata. Como ninguém lê a errata, o RFC 3693 acaba sendo muito inútil, ironicamente.
Dominic Sayers

3
Acredito que com endereços de email internacionalizados, seria mais correto definir o limite como 254 octetos , não caracteres. Mas eu não tenho certeza. O RFC 6531 estende o caminho reverso e encaminhamento do RFC 5321 para permitir caracteres UTF-8, mas o RFC 5321 diz especificamente que o limite é de "256 octetos", incluindo separadores (uma alteração deliberada do RFC 2821 que diz "caracteres"). Acredito que o limite de 256 octetos (menos 2 para 254) não seja substituído, e o limite de caracteres efetivo é reduzido para endereços com caracteres UTF-8 de vários bytes.
Andre D

1
@JohnLBevan porque os domínios são usados ​​para outros fins, além de emails, e são definidos por diferentes RFCs. Tenho certeza que Jon Postel desejou que ele pudesse torná-lo mais consistente, mas na época a maioria dos domínios era muito curta e teria sido um exagero dividir os endereços de envelope em dois ou mais pacotes simplesmente para levar em conta o potencial para domínios muito longos nomes.
Dominic Sayers

38

320

E os segmentos ficam assim

{64} @ {255}

64 + 1 + 255 = 320

Você também deve ler isso se estiver validando e-mails

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


No entanto, de acordo com esta especificação (para dados de empréstimos estudantis) nchelp.org/elibrary/ESC/CommonRecord-CommonLineDocumentation/… na página 20: "O tamanho do email foi alterado para refletir os padrões ANSI atuais. O endereço de email é um tamanho máximo de 128 caracteres ". Hmm.
1857 Nathan

8
Aqui está um artigo adorável que dissipa vários mitos sobre email, incluindo "max len == 320". O limite é realmente 254.
Carl

26
Onde está o adorável artigo?
Bob

1
Esta resposta está correta. Este e-mails válidos, mas absolutamente inútil, porque 2821 restringir MAIL / comandos RCPT TO 256 com <>suportes ...
vp_arth

1
Isso inclui e-mails no formato user+inbox@domain?
Aaron Esau

20

do utilizador

O comprimento total máximo de um nome de usuário é de 64 caracteres.

domínio

Máximo de 255 caracteres na parte do domínio (aquele após o "@")

No entanto, há uma restrição na leitura da RFC 2821 :

O comprimento total máximo de uma trajetória reversa ou progressiva é de 256 caracteres, incluindo os separadores de pontuação e elemento ”. Como os endereços que não se encaixam nesses campos normalmente não são úteis, o limite superior de comprimentos de endereços normalmente deve ser considerado como 256, mas um caminho é definido como: Path = "<" [Adl ":"] Mailbox "> O caminho a seguir conterá pelo menos um par de colchetes angulares, além da Caixa de Correio, que limita o endereço de email a 254 caracteres.


7
Cool, antigo rfc de 1982 ... Existe rfc5321 para SMTP
vp_arth

14

Para ajudar os novatos confusos como eu, a resposta para "Qual é o tamanho máximo de um endereço de email válido?" tem 254 caracteres .

Se seu aplicativo usa um email, basta definir seu campo para aceitar 254 caracteres ou menos e você estará pronto.

Você pode executar vários testes em um email para ver se é válido aqui. http://isemail.info/

O RFC, ou Request for Comments, é um tipo de publicação da Internet Engineering Task Force (IETF) que define 254 caracteres como o limite. Localizado aqui - https://tools.ietf.org/html/rfc5321#section-4.5.3


12

A outra responde um pouco turva a água. Resposta simples: 254 caracteres no nosso controle para o e-mail 256 são para o endereço de e-mail INTEIRO, que inclui "<" implícito no início e ">" no final. Portanto, 254 são deixados para o nosso uso.


4

De acordo com o artigo abaixo:

http://tools.ietf.org/html/rfc3696 (página 6, seção 3)

É mencionado que:

"Há um limite de tamanho para os endereços de email. Esse limite é de no máximo 64 caracteres (octetos) na" parte local "(antes de" @ ") e de no máximo 255 caracteres (octetos) na parte do domínio (após o "@") para um comprimento total de 320 caracteres. Os sistemas que lidam com email devem estar preparados para processar endereços que são longos, mesmo que raramente sejam encontrados. "

Portanto, o tamanho total máximo de um endereço de e-mail é de 320 caracteres ("parte local": 64 + "@": 1 + "parte do domínio": 255, que soma 320)


você poderia me fornecer uma expressão regular em javascript para validar o ID de e-mail de 320 caracteres? Desde já, obrigado.
21819 Kamlesh

1
Esta parte do padrão foi alterada em errata para incluir um limite total de 254 caracteres. Veja a resposta aceita para obter detalhes e links para as erratas.
Matthijs Kooijman 13/03
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.