@Drovosek01

Может ли быть такое имя домена или под домена или почты?

Пишу универсальную регулярку для валидации email и возникли следующие вопросы:

1. Есть домены с кирилицей в названии, например https://питер.рус и сооветственно, как я понимаю, может быть почтовый адрес support@питер.рус, но может ли быть почта с кирилицей в самом имени, например поддержка@питер.рус?

2. Могут ли домены/поддомены начинаться или заканчиваться на "-" или "_"?
Например http://-toster.com/ или http://toster-.com/ или http://_toster.com/ или http://toster_.com/

3. Могут ли почтовые имена начинаться или заканчиваться на "-" или "_"?
Например _support@toster.com или support_@toster.com или -support@toster.com или support-@toster.com

4. Могут ли почтовые имена содержать несколько подряд идущих нижних подчеркиваний "_"?
Например sup____port@toster.com

5. Может ли стоять точка в имени почты после "-" или "_" или перед этими символами?
Например sup_._p-.-ort@toster.com

6. Может ли в названии почты точка стоять через 1 символ?
Например s.u.p.p.o.r.t@toster.com
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
1. support@питер.рус будет работать практически везде (но где-то может показываться punycode-адрес домена) при условии что при отправке домен корректно кодируется в punycode, могут быть проблемы с написанием на этот адрес у пользователей старых почтовых программ. поддержка@питер.рус будет работать только если все почтовые серверы и клиенты между отправителем и получателям поддерживают RFC6531/RFC6532, на практике такие адреса не используются и их не будут использовать в обозримом будущем, т.к. мгновенный переход всего интернета на UTF-8 невозможен, а что делать если респондент не поддерживает UTF-8 не понятно (аналога punycode для local-part нет). А вот использовать для почты домен питер.com я бы не рекомендовал, т.к. в таком домене используется mixed script и он не проходит по требованиям безопасности Unicode (aka TR39).
2. По RFC 952/1035 имя хоста начинается с буквы и заканчивается буквой или цифрой, внутри могут быть цифры, буквы и -. RFC 1123 дополнительно разрешает начинать имя с цифры. Но технически протокол DNS поддерживает любые символы, даже 8-битные и в браузерах могут открываться даже не соответствующие стандарту имена. Но, разумеется, правильней ориентироваться на стандарт.
3,4,5,6. С local-part все интересно, ситуация обратная. По стандарту там может быть практически все что угодно, но внутри строки в двойных кавычках (quoted-string). По факту адреса c quoted-string не используются и обычно не принимаются. Без quoted string так же очень много чего разрешено, могут быть любые цифры, буквы, символы "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~" в любой последовательности так же разрешен символ "." Поэтому все ваши адреса допустимы. НО нельзя начинать и заканчивать local-part точкой и использовать две точки подряд (это в некотором роде баг стандарта RFC 2821/2822 и более поздних связанный с формализованной записью, который достаточно поздно заметили, стандарт RFC 821/822 разрешал две точки подряд). На практике использовать любые "странные" адреса относительно которых есть сомнения я бы не рекомендовал, т.к. не все, что разрешено стандартом по факту всеми принимается.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
jamessvetsky
@jamessvetsky
Специалист по почтам и рассылкам
Добрый день!
1. В нике почты (назовем так для краткости то что идет до собачки) нельзя использовать кириллицу. Разрешено использовать латиницу, цифры, и символы дефис "-", подчеркивание "_", точка "."
2. Домены должны начинаться и заканчиваться цифрой или буквой, в отличии от них поддомены могут начинаться символом подчеркивания, например _domainkey или _dmarc
3. Ники должны начинаться или заканчиваться буквой или цифрой
4. Вот с символом подчеркивания единого стандарта нет. Насколько я понимаю, например на данный момент два символа подряд в почте майл ру сделать невозможно, а один можно. А в яндексе вообще нельзя использовать в нике
Ответ написан
CityCat4
@CityCat4
Если я чешу в затылке - не беда!
Читаем RFC. До посинения. Там есть ответы на все эти вопросы
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы