Разное

Валидный емайл что это такое: Как работает валидный email? Что такое и зачем нужен?

Содержание

Как работает валидный email? Что такое и зачем нужен?

Сегодня регистрация на сайте – стандартная процедура, которая открывает доступ к дополнительным функциям: от сохранения данных и закладок в личном кабинете до комментирования и проведения денежных операций. Вариантов для входа масса. Но если вы не желаете связывать сайт с аккаунтами в социальных сетях, понадобится электронная почта и соблюдение некоторых требований. Как определить, что такое валидный email и можно ли обойтись без него?

Проверочное слово – valid

Термин образовался от английского прилагательного. Несмотря на массу возможных расшифровок, применительно к ситуации наиболее весомыми будут две из них:

Почему именно эти? Часто сайты обязывают подтвердить верность адреса, чтобы уведомлять об изменениях условий пользования, высылать информацию по подозрительной активности. Иначе регистрация будет аннулирована. Элементарная функция восстановления пароля – и та работает через почтовый ящик. Если ошибетесь хотя бы в одной букве, можете потерять все ценные данные. Восстанавливать доступ «вручную», при помощи службы поддержки, слишком долго и не всегда возможно.

Почта – это личное

Тогда почему «действительный»? Пользователи регулярно ошибаются в нюансах: верно написанный адрес email перестанет быть валидным, если вы не сможете войти на него. Вы вводите буквы и цифры без ошибок, это существующая почта, но без возможности прочитать сервисные сообщения и подтвердить что-либо. Офисный ящик очень удобный, однако принадлежит компании. В случае увольнения все зарегистрированные на него аккаунты будут потеряны, поэтому необходимо заранее изменить настройки соответствующих ресурсов и ввести уже личное «мыло» вместо корпоративного.

Спасательные адреса

Иногда нет желания делиться данными, чтобы не попасть на крючок мошенников или на рассылку спама. Как быть? Есть три варианта почты:

Обманный, только что выдуманный адрес пригодится для сохранения анонимности. Не забывайте, подбирая такой email, что валидным он не считается, поэтому для важных операций с данными способ не подходит.

Но есть альтернатива! Дублирующую функцию предлагают почтовые сервисы. Можно автоматически или вручную создать рабочие адреса, отличные от оригинального названием сервера, что повысит уровень защиты. Или заведите дополнительные ящики с абсолютно разными именами для индивидуальных целей:

  • общения с родными;

  • платежных систем;

  • интернет-магазинов;

  • онлайн-игр;

  • ведения деловой переписки и т. д.

Валидная почта не всегда нужна, но всегда – важна. Систематизируйте рассылки, подберите и создайте несколько действующих персональных адресов, и тогда ни один бит ценной информации не пропадет и не попадет к мошенникам.

Валидация email / Хабр

В этой статье рассмотривается валидация email изпользуя регулярные выражения. Все регэкспы выполняются с модификатором i, т.е. делают регистронезависимую проверку.

Подготовка

Перед тем как писать валидацию, надо знать из чего состоит email адрес. Думаю известно всем что это «username@hostname». Лучше всего будет разбить создание регэкспа на 2 логические части — валидация hostname и валидация username. Начнём с более объёмного.

Валидация hostname

Для начала подумаем, а из чего же состоит hostname?

Имя хоста состоит из нескольких компонентов, разделённых точкой и не превышающих 63 символа, и суффиксов (домены первого уровня). Компоненты, в свою очередь, состоят из латинских букв, цифр и дефисов, причём дефисы не могут быть в начале или в конце компонента. Суффиксы это ограниченный список доменов первого уровня (я нашёл список на сайте IANA). Для упрощения выражения запишем домены стран как [a-z][a-z] (любые 2 символа от a до z не зависимо от регистра). Так же не будем использовать не латинские символы, пока они официально не введены в публичное пользование. В итоге получим выражение проверяющее суффикс (конструкция (foo|bar) говорит о том что происходит поиск либо foo либо bar, т.е. заменяет или):

(aero|arpa|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])

Для компонентов код будет посложнее:

([a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?\.)

Разберём выражение:

[a-z0-9] # обязательная буква латинского алфавита или цифра

([-a-z0-9]{0,61}[a-z0-9])? # необязательная часть

\. # точка

Рассмотрим необязательную часть:

# дефис ставиться на первое место в группе символов, иначе он принимается за промежуток

# {0,61} после группы символов означает, что группа может повторятся от 0 до 61 раза

[-a-z0-9]{0,61}

# 61 для того, чтобы в группе не было более 63 символов в сумме

[a-z0-9]

В итоге мы получили выражение отвечающее за проверку hostname:

([a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?\.)*(aero|arpa|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])

Обращу внимание на то, что присутствие компонентов не обязательно, т.к. некоторые домены первого уровня поддерживаются серверами. Пример.

Валидация username

Имя пользователя может в себе содержать:

  • латиницу
  • цифры
  • знаки! # $ % & ‘ * + — / =? ^ _ ` { | } ~
  • точку, за исключением первого и последнего знака, которая не может повторятся

Приведу сразу выражение:

[-a-z0-9!#$%&'*+/=?^_`{|}~]+(\.[-a-z0-9!#$%&'*+/=?^_`{|}~]+)*

На самом деле тут все просто: 1 или более символ [-a-z0-9!#$%&'*+/=?^_`{|}~], далее 0 или больше компонентов \.[-a-z0-9!#$%&'*+/=?^_`{|}~]+.

В итоге

Регэксп проверки email:

^[-a-z0-9!#$%&'*+/=?^_`{|}~]+(\.[-a-z0-9!#$%&'*+/=?^_`{|}~]+)*@([a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?\.)*(aero|arpa|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])$

Это выражение можно каплю оптимизировать (про оптимизацию, я думаю, будет отдельная статья):

^[-a-z0-9!#$%&'*+/=?^_`{|}~]+(?:\.[-a-z0-9!#$%&'*+/=?^_`{|}~]+)*@(?:[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?\.)*(?:aero|arpa|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])$

Бонус

Рассмотрим регэксп, который привели в пример в комментарии к вступительному топику:

^(\S+)@([a-z0-9-]+)(\.)([a-z]{2,4})(\.?)([a-z]{0,4})+$

Какие тут есть главные проблемы?

  • Так как username может состоять из любых символов кроме пробелов, username «日本国» является валидным.
  • Домен первого уровня может состоять из любых 4 латинских букв, например .habr
  • Ужасная проверка домена: 1 или более символов, обязательная точка, 2-4 обязательных символа, необязательная точка, 0-4 символа в прибавок. Причём каждый из этих блоков сохраняется в память.

P.S. Пишите о багах и пожеланиях — обязательно исправлю.

P.P.S. По желанию могу выложить функцию проверки email, используюмую мной.

Как определяется валидность email-адреса — Подписки и контакты

Важно: Рассылки шлем по валидным адресам.
Невалидному адресу может быть отправлена только триггерная рассылка с флагом «игнорировать стоп-листы»

Определение валидности email адреса можно разделить на два этапа:

  1. Попытка добавить адрес в систему

  2. Попытка отправить письмо

Попытка добавить адрес в систему

Когда адрес попадает в систему мы проверяем его и исключаем явные ошибки. Например, вместо email адреса передана фамилия клиента, номер его телефона и т.п.
Возможные варианты:

  • Если адрес не похож на email, выводим сообщение об ошибке сохранения. Адрес в систему не попадает и соответственно письмо на него мы никогда не отправим.
  • Если адрес прошёл проверку и сохранился в личных данных клиента, то мы можем отправлять на него email, но это не гарантирует его существование/валидность
  • По умолчанию любой новый контакт клиента считается валидным

Попытка отправить письмо

Если контакт находится в списке невалидных, то сообщение автоматически получает статус из категории «Не отправлялось»

Если попытка отправить письмо состоялась, могут возникнуть ситуации:

  • нет почтового сервера, который указан в адресе
  • есть почтовый сервер, но возвращается сообщение, что такого ящика нет (удалён, заблокирован и т.п.) — формат сообщения у почтовых серверов разный
  • какая-то другая ситуация, когда на адрес нельзя доставить письмо (например, почтовый сервис принял письмо, но на самом деле положил его в свой внутренний стоп-лист)
Счетчик недоставок

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

Критерии попадания в список невалидных адресов из-за счетчика недоставок:

  • одна гарантированная недоставка
  • минимум 3 последовательных недоставки со статусом «возможно не доставлено» за период не менее 70 дней

Выход из списка невалидных адресов

Статус email адреса с невалидного на валидный может быть изменен в случаях:

  1. Успешная отправка триггерной рассылки с флагом «игнорировать стоп-листы». Письмо не должно иметь статус «Не доставлено»

  2. Получение для любого из сообщений, отправленных контакту, статуса из категории «Доставлено»:

  • Клик по ссылке
  • Открытие письма
  • Запрос отписки
  • Отписка
  • Автоответ
  1. Изменение валидности email-адреса через интерфейс по инструкции .

Обращаем внимание, что, делая рассылку по невалидным адресам, можно ухудшить репутацию компаний, и это приведет к тому, что еще больше писем будут определяться как спам.

Was This Article Helpful?


Yes
No

Есть ли в Mindbox единый список невалидных e-mail? По каким правилам Mindbox помечает email валидным и невалидным?

Списки невалидных e-mail

В Mindbox есть единый список невалидных e-mail. Список невалидных адресов делится на глобальный и локальный. Глобальный список применяется к проектам всех клиентов, локальный — только к проекту конкретного клиента. Если e-mail адрес клиента находится в списке невалидных адресов, то при попытке отправить ему рассылку, клиенту будет выдано действие “Не отправлялось” .

В каких случаях мы обновляем информацию о валидности контакта?

Валидность контакта в профиле клиента обновляется и сверяется со списками невалидных e-mail при импорте клиента, при отправке рассылки, и когда от почтового сервиса нам приходит статус отправленной на этот адрес рассылки.

Валидность контакта в списках невалидных контактов обновляется с приходом статусов от почтовых сервисов.

Зачем нужно деление на локальный и глобальный список

По части ошибок недоставки и эвристик мы признаем адрес несуществующим и не хотим отправлять на него рассылки вообще. Это нужно для поддержания высокой репутации и доставляемости у почтовиков, и чтобы не создавать лишнюю нагрузку. Часть ошибок недоставки и эвристик недостаточна для того, чтобы считать адрес несуществующим и не разрешать отправку на него всем клиентам. Например, при отправке рассылки на конкретный адрес, определенные статусы недоставки могут приходить от почтовых сервисов только для одного отправителя, а письма от других доставляются успешно. Такие адреса мы считаем невалидными только для одного клиента.

Какие сейчас действуют правила признания клиента невалидным и какие списки невалидных адресов они задействуют?

Правила по которым адрес сразу признается невалидным, и вносим его в:

  • глобальный список невалидных адресов при получении статусов о явной недоставке: недействительный адрес (InvalidAddress), несуществующий домен адреса (NonExistingDomain), некорректный формат адреса (IncorrectAddressFormat)
  • локальный список невалидных адресов при получении статуса “Несуществующий адрес” (NonExistingAddress)
Правила по которым адрес признается невалидным после нескольких последовательных недоставок :
  • Помечаем адрес как невалидный и вносим его в глобальный список невалидных адресов в случае трех последовательных недоставок со статусом “Возможно недоставлено”, если между первой и последней недоставкой прошло более 14 дней и не было признания контакта валидным вручную.

  • Три последовательные недоставки для этого правила считаются для отправок на всех проектах клиентов Mindbox. Это значит, что возможна ситуация, когда в профиле клиента есть только одна возможная недоставка, а мы признали клиента невалидным. В таком случае недоставки также происходили и при отправках рассылок на этот адрес у других клиентов Mindbox. Также возможна ситуация, когда после трех возможных недоставкок в профиле в течение более 14 дней мы не признали e-mail клиента невалидным. Такое может произойти, если один из клиентов Mindbox тоже отправлял рассылку на данный email в этот промежуток времени, и нам пришел статус открытия или клика.

Что будет, если по e-mail адресу, который находится в списке невалидных, придет статус рассылки Открытие / Клик / Запрос отписки / Отписка / Автоответ?

Мы снова признаем e-mail валидным, проставим валидность e-mail в глобальном списке невалидных адресов, во всех локальных списках и во всех профилях клиента с таким e-mail.

Что будет, если e-mail адрес отметили валидным на проекте одного из-клиентов?

Мы обновим валидность во всех списках и признаем адрес валидным на проектах всех клиентов Mindbox. При этом если человек кликнул в письме одного из клиентов Mindbox, то на проектах остальных клиентов Mindbox данных о клике/открытии/другом действии может не быть, мы просто признаем email валидным и пометим это в профиле клиента.

Was This Article Helpful?


Yes
No

Каковы правила синтаксиса адресов электронной почты? — Справочный центр Validity

Чтобы электронное письмо было доставлено, у него должен быть действительный адрес, который следует определенным правилам синтаксиса.

Действительный адрес электронной почты состоит из четырех частей:

  • Имя получателя
  • @ символ
  • Доменное имя
  • Домен верхнего уровня

Имя получателя
Имя получателя представляет почтовый ящик электронной почты, который принадлежит:

  • Конкретное лицо
  • Список рассылки
  • Отделение
  • Роль в компании (например, продажи или обслуживание клиентов)

Имя получателя может состоять максимум из 64 символов и состоять из:

  • Прописные и строчные буквы английского языка (A-Z, a-z)
  • Цифры от 0 до 9
  • Специальные символы, например! # $% & ‘* + — / =? ^ _ `{|

Специальный символ не может появляться в качестве первого или последнего символа в адресе электронной почты или появляться последовательно два или более раз.Наиболее часто используемые специальные символы — это точка (.), Подчеркивание (_), дефис (-) и знак плюс (+).

  • Альтернативные специальные символы, такие как «(),:; <> @ [\]

Эти альтернативные специальные символы могут использоваться с некоторыми ограничениями, но их обычно следует избегать, поскольку они могут быть запрещены отправляющим или принимающим сервером.

Поскольку организация или поставщик почтовых ящиков может ограничить использование специальных символов, даже если они технически допустимы, лучше всего свести к минимуму использование специальных символов в именах получателей.

Хотя имена получателей технически чувствительны к регистру, большинство поставщиков почтовых ящиков и организаций принимают буквы верхнего и нижнего регистра для обозначения одного и того же пользователя (например, [email protected] совпадает с [email protected]).

Доменное имя
Доменное имя представляет собой строку букв и цифр, которая определяет пространство в Интернете, принадлежащее и контролируемое определенным поставщиком почтовых ящиков или организацией.

Доменное имя может состоять максимум из 253 символов и состоять из:

  • Прописные и строчные буквы английского языка (A-Z, a-z)
  • Цифры от 0 до 9
  • Дефис (-)
  • Период (.) (Используется для определения поддомена; например, email.domainsample)

Домен верхнего уровня
Домены верхнего уровня — это самый высокий уровень системы доменных имен в Интернете, который помещается после имени домена в адресе электронной почты.

Общие домены верхнего уровня:

Примеры
Примеры действительных адресов электронной почты:

Примеры неверных адресов электронной почты:

Адрес электронной почты

Что делает его недействительным

@ domainsample.com

Имя получателя отсутствует.

johndoedomainsample.com

Между johndoe и domainample отсутствует символ @.com.

john.doe @ .net

Имя домена (domainample) отсутствует после символа @ и перед доменом верхнего уровня (.net).

john.doe43@domainsample

Домен верхнего уровня (.co.uk) отсутствует.

.

javascript — это действующий адрес электронной почты?

Переполнение стека

  1. Около
  2. Продукты

  3. Для команд
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Переполнение стека для команд
    Где разработчики и технологи делятся частными знаниями с коллегами

  3. Вакансии
    Программирование и связанные с ним технические возможности карьерного роста

  4. Талант
    Нанимайте технических специалистов и создавайте свой бренд работодателя

  5. Реклама
    Обратитесь к разработчикам и технологам со всего мира

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *