техническое · ответ с источниками
Валидация email-адресов
Валидация email-адреса — это проверка того, что адрес синтаксически корректен и соответствует принятым интернет-стандартам. Она позволяет ещё до попытки отправки убедиться, что указанный адрес правильно оформлен, а домен назначения настроен на приём почты.
Проверка синтаксиса
На первом этапе строка проверяется на соответствие стандарту RFC 5322. Проверка гарантирует, что в адресе есть локальная часть, символ @ и доменная часть. Она выявляет недопустимые символы, неправильно расставленные точки и отсутствующие компоненты, которые сразу привели бы к ошибке SMTP.
Проверка DNS и MX-записей
После проверки синтаксиса система выполняет DNS-запрос, чтобы убедиться, что домен существует. В частности, она проверяет наличие записей почтового обменника (MX). Если у домена нет MX-записей или он не разрешается в DNS, он не может принимать почту, и любая попытка отправки закончится жёстким отказом (bounce).
Влияние на репутацию отправителя
Отправка на недействительные адреса повышает долю отказов, а это сигнализирует принимающим интернет-провайдерам, что отправитель использует некачественные списки или рассылает спам. Высокая доля отказов может привести к попаданию IP-адреса в чёрный список и ухудшению доставляемости легитимных писем.
Практическое внедрение
Разработчики часто добавляют валидацию прямо в точке ввода с помощью регулярных выражений или специализированных библиотек. Для больших списков SendHQ и его бесплатные инструменты (https://sendhq.cc/tools) помогают выявить некорректные адреса до того, как они попадут в конвейер рассылки.
Пример валидации
Адрес вида user@example..com не проходит проверку синтаксиса из-за двойной точки. Адрес вида user@nonexistent-domain-12345.com проходит проверку синтаксиса, но не проходит этап поиска MX-записи в DNS.
Что спрашивают команды
Гарантирует ли валидация, что адрес активен?
Нет. Валидация подтверждает, что формат верен и домен настроен на приём почты, но не подтверждает, что конкретный аккаунт сейчас активен.
Чем валидация отличается от верификации?
Под валидацией обычно понимают проверку синтаксиса и DNS, а верификация, как правило, включает более глубокие проверки, подтверждающие, что адрес доступен.
Почему проверки синтаксиса недостаточно?
Даже идеально оформленный email-адрес может быть недействительным, если домен не существует или не настроен на приём входящего SMTP-трафика.
Первоисточники
- RFC 5322: формат интернет-сообщений — RFC Editor
- RFC 5321: простой протокол передачи почты (SMTP) — RFC Editor