Какова максимальная длина действующего адреса электронной почты? - PullRequest
877 голосов
/ 22 декабря 2008

Какова максимальная длина действующего адреса электронной почты? Это определяется каким-либо стандартом?

Ответы [ 7 ]

1084 голосов
/ 22 февраля 2009

Адрес электронной почты не должен превышать 254 символов.

Это было принято IETF после представленной ошибки . Полная диагностика любого адреса доступна онлайн . Первоначальная версия RFC 3696 описывала 320 как максимальную длину, но впоследствии Джон Кленсин принял неверное значение, поскольку путь определен как

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

Таким образом, элемент почтового ящика (т.е. адрес электронной почты) имеет угловые скобки вокруг него, чтобы сформировать путь, максимальная длина которого составляет 254 символа, чтобы ограничить длину пути до 256 символов или менее.

Максимальная длина, указанная в RFC 5321 состояния:

Максимальная общая длина обратного или прямого пути составляет 256 символов.

RFC 3696 был исправлен здесь .

Теперь я сопоставил контрольные примеры Кэла Хендерсона, Дейва Чайлда, Фила Хаака, Дуга Ловелла и RFC 3696. Всего 158 тестовых адресов.

Я провел все эти тесты со всеми валидаторами, которые смог найти. Сравнение здесь: http://www.dominicsayers.com/isemail

Я постараюсь обновлять эту страницу по мере того, как люди улучшат свои валидаторы. Спасибо Кэлу, Дэйву и Филу за помощь и сотрудничество в составлении этих тестов и конструктивную критику моего собственного валидатора.

Люди должны знать о ошибках в RFC 3696 в частности. Три из канонических примеров на самом деле являются недействительными адресами.

30 голосов
/ 22 декабря 2008

320

И сегменты выглядят так

{64} @ {255}

64 + 1 + 255 = 320

Вы также должны прочитать это, если вы проверяете электронную почту

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

13 голосов
/ 29 января 2015

Пользователь

Максимальная общая длина имени пользователя составляет 64 символа.

домен

Максимум 255 символов в доменной части (один после «@»)

Однако в RFC 2821 есть ограничение:

Максимальная общая длина обратного или прямого пути составляет 256 символы, включая знаки препинания и разделители элементов ». поскольку адреса, которые не вписываются в эти поля, обычно бесполезны, верхний предел длины адреса обычно следует считать 256, но путь определяется как: Path = «<» [A-d-l «:»] Почтовый ящик «>» Прямой путь будет содержать по крайней мере пару угловых скобок в дополнение к почтовому ящику, которое ограничивает адрес электронной почты 254 символы.

9 голосов
/ 02 июня 2017

Чтобы помочь таким запутавшимся новичкам, как я, ответьте на вопрос "Какова максимальная длина действующего адреса электронной почты?" 254 символов .

Если в вашем приложении используется электронная почта, просто установите в своем поле значение не более 254 символов, и все готово.

Вы можете запустить несколько тестов по электронной почте, чтобы проверить, действительно ли это здесь. http://isemail.info/

RFC, или Запрос на комментарии, является типом публикации от Инженерной рабочей группы по Интернету (IETF), которая определяет 254 символа в качестве ограничения. Находится здесь - https://tools.ietf.org/html/rfc5321#section-4.5.3

7 голосов
/ 12 апреля 2018

Другой ответ немного мутит воду. Простой ответ: в нашем контроле всего 254 символа для электронной почты 256 для ВСЕГО адреса электронной почты, который включает в себя «<» в начале и «>» в ​​конце. Таким образом, 254 осталось для нашего использования.

1 голос
/ 04 апреля 2018

Согласно статье ниже:

http://tools.ietf.org/html/rfc3696 (стр. 6, раздел 3)

Упоминается, что:

"Существует ограничение на длину адрес электронной почты. Это ограничение не более 64 символов (октетов) в «локальной части» (до «@») и не более 255 символов (октеты) в доменной части (после «@») общей длиной 320 персонажи. Системы, обрабатывающие электронную почту, должны быть готовы к обработке адреса, которые так долго, хотя они редко столкнулись ".

Таким образом, максимальная общая длина адреса электронной почты составляет 320 символов. («локальная часть»: 64 + «@»: 1 + «доменная часть»: 255, что составляет 320)

0 голосов
/ 22 декабря 2008

64 для локальной части (учетная запись / имя) и 255 для домена. Я думаю, что знак @ будет засчитан дополнительно, так что суммы будут равны 320.

Но будьте осторожны: это только длина реального адреса. Адрес может содержать отображаемое имя. Такой адрес выглядит как first last <local@domain> и часто увеличивается до 320.

...