Qual è la lunghezza massima di un indirizzo email valido?


988

Qual è la lunghezza massima di un indirizzo email valido? È definito da uno standard?


Che tipo di indirizzo email? Internet, X.400 o altro?
Toby Speight,

Tieni presente che il limite di lunghezza che la tua app dovrebbe imporre per gli indirizzi email potrebbe non essere uguale al massimo teorico (che è più lungo dell'intero commento ). Altre risposte discutere questa domanda, ad esempio: stackoverflow.com/questions/1297272
MGOwen

Risposte:


1207

Un indirizzo e-mail non deve superare i 254 caratteri.

Ciò è stato accettato dall'IETF a seguito di un errore presentato . Una diagnosi completa di ogni dato indirizzo è disponibile online . La versione originale di RFC 3696 descriveva 320 come lunghezza massima, ma John Klensin accettò successivamente un valore errato, poiché un Path è definito come

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

Quindi l'elemento Mailbox (cioè l'indirizzo e-mail) ha delle parentesi angolari attorno ad esso per formare un percorso, che una lunghezza massima di 254 caratteri per limitare la lunghezza del percorso a 256 caratteri o meno.

La lunghezza massima specificata in RFC 5321 indica:

La lunghezza totale massima di un percorso inverso o in avanti è di 256 caratteri.

RFC 3696 è stato corretto qui .

Le persone dovrebbero essere consapevoli delle errata in particolare contro RFC 3696 . Tre degli esempi canonici sono in realtà indirizzi non validi.

Ho raccolto circa duecento indirizzi di prova, che puoi trovare su http://www.dominicsayers.com/isemail


7
Che dire del nuovo standard RFC che consente Unicode negli indirizzi e-mail?
Pacerier,

3
Quanti caratteri prima di @ e quanti dopo, o non importa?
systemovich,

5
@Lodewijk RFC 3696 non è uno standard, cerca solo di aiutare le persone a interpretare correttamente gli standard sottostanti. Sfortunatamente, nel suo tentativo di chiarire la situazione, Klensin ha incluso alcuni errori grossolani che sono stati corretti nell'Errata. Ma nessuno legge l'errata, quindi RFC 3693 finisce per essere molto inutile, ironicamente.
Dominic Sayers,

3
Credo che, con indirizzi di posta elettronica internazionalizzati, sarebbe più corretto definire il limite come 254 ottetti , non caratteri. Ma non sono sicuro. RFC 6531 estende il percorso inverso e in avanti di RFC 5321 per consentire caratteri UTF-8, ma RFC 5321 afferma specificamente che il limite è "256 ottetti", inclusi i separatori (una variazione deliberata da RFC 2821 che diceva "caratteri"). Credo che il limite di 256 ottetti (meno 2 per 254) non venga superato e il limite di caratteri effettivo viene ridotto per gli indirizzi con caratteri UTF-8 multi-byte.
Andre D,

1
@JohnLBevan perché i domini vengono utilizzati per altri scopi oltre alle e-mail e sono definiti da RFC diversi. Sono sicuro che Jon Postel avrebbe voluto renderlo più coerente, ma al momento la maggior parte dei domini era molto corta e sarebbe stato eccessivo suddividere gli indirizzi delle buste in due o più pacchetti semplicemente per tener conto del potenziale per un dominio molto lungo nomi.
Dominic Sayers il

38

320

E i segmenti sembrano così

{64} {@ 255}

64 + 1 + 255 = 320

Dovresti anche leggere questo messaggio se stai convalidando le email

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


Tuttavia, in base a questa specifica (per i dati sui prestiti studenteschi) nchelp.org/elibrary/ESC/CommonRecord-CommonLineDocumentation/… a pagina 20: "La lunghezza dell'e-mail è cambiata per riflettere gli attuali standard ANSI. L'indirizzo e-mail è una lunghezza massima di 128 caratteri ". Hmm.
Nathan,

8
Ecco un delizioso articolo che dissipa vari miti sull'e-mail, tra cui "max len == 320". Il limite è in realtà 254.
Carl

26
Dov'è l'articolo adorabile?
Bob,

1
Questa risposta è corretta. Questa email è valida, ma assolutamente inutilizzabile, perché 2821 limita i comandi MAIL / RCPT a 256 con <>parentesi ...
vp_arth

1
Questo include e-mail nel formato user+inbox@domain?
Aaron Esau,

20

utente

La lunghezza totale massima di un nome utente è di 64 caratteri.

dominio

Massimo 255 caratteri nella parte del dominio (quella dopo la "@")

Tuttavia, esiste una limitazione nella lettura RFC 2821 :

La lunghezza totale massima di un percorso inverso o in avanti è di 256 caratteri, inclusi i segni di punteggiatura e i separatori di elementi ”. Poiché gli indirizzi che non rientrano in tali campi non sono normalmente utili, il limite superiore per le lunghezze degli indirizzi dovrebbe normalmente essere considerato 256, ma un percorso è definito come: Path = “<” [Adl “:”] Mailbox “> "Il percorso di andata conterrà almeno una coppia di parentesi angolari oltre alla cassetta postale, che limita l'indirizzo e-mail a 254 caratteri.


7
Fantastico, antico rfc del 1982 ... C'è rfc5321 per SMTP
vp_arth

14

Per aiutare i principianti confusi come me, la risposta a "Qual è la lunghezza massima di un indirizzo email valido?" è di 254 caratteri .

Se la tua applicazione utilizza un'e-mail, imposta il campo in modo che accetti almeno 254 caratteri e sei a posto.

Puoi eseguire una serie di test su un'e-mail per vedere se è valida qui. http://isemail.info/

RFC o Richiesta di commenti è un tipo di pubblicazione da Internet Engineering Task Force (IETF) che definisce il limite di 254 caratteri. Si trova qui - https://tools.ietf.org/html/rfc5321#section-4.5.3


12

L'altro risponde un po 'fangoso all'acqua. Risposta semplice: 254 caratteri totali nel nostro controllo per l'e-mail 256 sono per TUTTO l'indirizzo e-mail, che include "<" all'inizio implicito e ">" alla fine. Pertanto, 254 sono rimasti per il nostro uso.


4

Secondo l'articolo di seguito:

http://tools.ietf.org/html/rfc3696 (Pagina 6, Sezione 3)

Si dice che:

"Esiste un limite di lunghezza per gli indirizzi e-mail. Tale limite è un massimo di 64 caratteri (ottetti) nella" parte locale "(prima di" @ ") e un massimo di 255 caratteri (ottetti) nella parte del dominio (dopo il "@") per una lunghezza totale di 320 caratteri. I sistemi che gestiscono la posta elettronica devono essere pronti a elaborare indirizzi così lunghi, anche se raramente vengono rilevati. "

Pertanto, la lunghezza totale massima per un indirizzo e-mail è di 320 caratteri ("parte locale": 64 + "@": 1 + "parte dominio": 255 che si somma a 320)


potresti fornirmi un'espressione regolare in javascript per convalidare l'ID e-mail di 320 caratteri? Grazie in anticipo.
Kamlesh,

1
Questa parte della norma è stata modificata in errata per includere un limite totale di 254 caratteri. Vedere la risposta accettata per dettagli e collegamenti all'errata.
Matthijs Kooijman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.