Какова максимальная длина действующего адреса электронной почты? Это определено каким-либо стандартом?
Какова максимальная длина действующего адреса электронной почты?
Ответы (8)
Адрес электронной почты не должен превышать 254 символов.
Это было принято IETF после отправленной ошибки. Полная диагностика любого адреса доступна в Интернете. Исходная версия RFC 3696 описывала 320 как максимальную длину, но Джон Кленсин впоследствии принял неверное значение, поскольку путь определяется как
Path = "<" [ A-d-l ":" ] Mailbox ">"
Таким образом, элемент почтового ящика (то есть адрес электронной почты) заключен в угловые скобки для формирования пути, максимальная длина которого составляет 254 символа, чтобы ограничить длину пути 256 символами или меньше.
Максимальная длина, указанная в RFC 5321, гласит:
Максимальная общая длина обратного или прямого пути составляет 256 символов.
RFC 3696 был исправлен здесь.
Люди должны знать, в частности, об ошибках RFC 3696. Три канонических примера на самом деле являются недействительными адресами.
Я сопоставил пару сотен тестовых адресов, которые вы можете найти по адресу http://www.dominicsayers.com/isemail < / а>
user+inbox@domain
?
- person Aaron Esau; 09.01.2017
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
<>
скобками ...
- person vp_arth; 05.07.2015
user+inbox@domain
?
- person Aaron Esau; 09.01.2017
пользователь
Максимальная общая длина имени пользователя составляет 64 символа.
домен
Максимум 255 символов в доменной части (один после «@»)
Однако в RFC 2821 есть ограничение на чтение:
Максимальная общая длина обратного или прямого пути составляет 256 символов, включая знаки препинания и разделители элементов ». Поскольку адреса, которые не помещаются в эти поля, обычно бесполезны, верхний предел длины адреса обычно считается равным 256, но путь определяется как: Path = «‹ »[Adl«: »] Mailbox«> «Прямой путь будет содержать по крайней мере пару угловых скобок в дополнение к почтовому ящику, который ограничивает адрес электронной почты 254 символами.
Чтобы помочь таким сбитым с толку новичкам, как я, ответ на вопрос «Какова максимальная длина действующего адреса электронной почты?» составляет 254 символа.
Если ваше приложение использует электронную почту, просто установите в поле 254 символа или меньше, и все готово.
Вы можете запустить несколько тестов по электронной почте, чтобы проверить, действительно ли оно здесь. http://isemail.info/
RFC или запрос комментариев - это тип публикации от Инженерной группы Интернета (IETF), который определяет 254 символа в качестве ограничения. Находится здесь - https://tools.ietf.org/html/rfc5321#section-4.5.3
Согласно статье ниже:
http://tools.ietf.org/html/rfc3696 (стр. 6, Раздел 3)
Упоминается, что:
Для адресов электронной почты существует ограничение на длину. Это ограничение составляет максимум 64 символа (октета) в локальной части (до @) и максимум 255 символов (октетов) в доменной части (после @) для общей длины 320 символов. Системы, обрабатывающие электронную почту, должны быть готовы обрабатывать такие длинные адреса, даже если они редко встречаются.
Таким образом, максимальная общая длина адреса электронной почты составляет 320 символов (локальная часть: 64 + @: 1 + часть домена: 255, что в сумме составляет 320).
Другие ответы немного мутят воду. Простой ответ: мы контролируем 254 символа для электронной почты. 256 для ВСЕГО адреса электронной почты, включая подразумеваемые «‹ »в начале и«> »в конце. Таким образом, 254 осталось для нашего использования.
К сожалению, все остальные ответы неверны. Большинство из них ссылаются на RFC 2821 или новее, в котором даже не определены адреса электронной почты. Он определяет пути. Адреса электронной почты определены RFC 2822 (или новее) и могут быть намного длиннее. Примеры действительных адресов, которые не являются допустимыми путями:
(Firstname Lastname) user@domain
Firstname Lastname <user@domain>
Оба это один и тот же почтовый ящик, написанный по-разному. Поэтому, если ваша цель - сохранить адреса электронной почты в базе данных, ограничение в 254, 256 или 320 октетов может быть слишком низким, хотя на практике это редко будет проблемой.
Ответ TLDR
Учитывая адрес электронной почты, например ...
[email protected]
Пределы длины следующие:
- Полный адрес электронной почты (также известный как путь): т. Е. [email protected] - максимум
256
символа. - Локальная часть: т. Е. я - максимум
64
символа. - Домен: т. Е. example.com - максимум
254
символа.
Исходный TL; DR;
Стандарты RFC постоянно развиваются, но если вам нужен исходный текст IETF 2009 в одной строке:
... верхний предел длины адреса обычно считается равным 256. (Источник: RFC3696.)
Источник История
Первоначально SMTP определял путь в RFC821, опубликованном в августе 1982 г., т.е. официальный Интернет-стандарт (большинство RFC - это только предложения). Процитировать это ...
... обратный путь, указывающий, от кого пришло письмо.
... прямой путь, который указывает, кому адресована почта.
RFC2821, опубликованный в апреле 2001 г., является устаревшим стандартом, определяющим наши текущие максимальные значения для локальных части, домены и пути. Новый проект стандарта, RFC5321, опубликованный в октябре 2008 г., сохраняет те же ограничения. Между этими двумя датами, февраль 2004 г. был опубликован RFC3696. В нем ошибочно указан максимальный адрес электронной почты. ограничение адреса в виде 320
символов, но этот документ носит исключительно информационный характер и заявляет: Этот документ предоставляет информацию для Интернет-сообщества. Он не определяет никаких стандартов Интернета. Так что мы можем не обращать на это внимания.
Процитируем RFC2821, современный общепринятый стандарт, подтвержденный в RFC5321 ...
4.5.3.1.1. Местная часть
Максимальная общая длина имени пользователя или другой локальной части составляет 64 символа.
4.5.3.1.2. Домен
Максимальная общая длина доменного имени или номера составляет 255 символов.
4.5.3.1.3. Путь
Максимальная общая длина обратного или прямого пути составляет 256 символов (включая знаки препинания и разделители элементов).
Вы заметите, что я указываю максимальное значение домена 254, а RFC указывает максимальное значение 255. Это вопрос простой арифметики. Домен из 255 символов плюс знак @ - это путь из 256 символов, который является максимальной длиной пути. Однако пустое или пустое имя недопустимо, поэтому на самом деле домен имеет максимум 254.