Skip to content
EN
← Все статьи

Как проверить, существует ли адрес электронной почты

Коротко. Существование почтового адреса проверяют в три шага: синтаксис (правильно ли написан), наличие у домена почтовых серверов (MX-записи в DNS) и ответ сервера на конкретный ящик (SMTP-проверка командой RCPT TO). Первые два шага дают надёжный результат за секунды; третий часто врёт — почтовые серверы намеренно отвечают «ок» на любой адрес, чтобы не сдавать спамерам список живых ящиков. Поэтому 100%-й проверки «на существование» без отправки письма не бывает — и не нужно к ней стремиться: агрессивная проверка легко приводит к попаданию вашего сервера в блэклист. Ниже — как проверить безопасно и когда это вообще нужно.

Зачем проверять адрес

Отправка на несуществующие адреса бьёт по репутации отправителя. Каждое письмо в никуда возвращается как hard bounce, а высокий процент таких возвратов почтовые системы (Gmail, Mail.ru, Яндекс) трактуют как признак спам-рассылки — и начинают отправлять уже ваши нормальные письма в спам. Поэтому чистка списка перед рассылкой — это защита доставляемости, а не придирчивость.

Проверка адреса нужна не чтобы «поймать» пользователя, а чтобы спасти собственную репутацию: один процент несуществующих адресов в рассылке дороже, чем кажется — он тянет в спам и все остальные письма.

Три уровня проверки

Уровень 1. Синтаксис

Самый дешёвый фильтр: есть ли @, допустимы ли символы, не пустой ли домен. Отсекает опечатки вроде ivan@@mail и ivan mail.ru. Но синтаксически верный адрес — ещё не существующий: nobody@example.com написан правильно, а ящика нет.

Уровень 2. MX-записи домена

Если у домена нет MX-записей (адресов почтовых серверов) — принимать почту он не может, и любой адрес на нём заведомо мёртв. Это надёжная и быстрая отсечка целых доменов. Проверить MX можно через DNS-проверку или в терминале:

dig +short MX example.com
# пусто = домен не принимает почту, все адреса на нём недоставляемы
# есть ответ (напр. "10 mx.yandex.net") = почтовый сервер существует

Как устроены MX-записи — в разборе настройки почты.

Уровень 3. SMTP-проверка (и почему она врёт)

Теоретически можно подключиться к почтовому серверу домена и спросить про конкретный ящик командой RCPT TO: сервер ответит 250 OK (адрес принят) или 550 (нет такого). На практике это самый ненадёжный шаг:

  • Catch-all. Многие домены принимают письма на любой адрес и говорят «ок» даже несуществующему ящику — узнать реальность конкретного адреса нельзя.
  • Антиспам-защита. Gmail, Яндекс, Mail.ru намеренно отвечают одинаково на живой и мёртвый адрес, чтобы не сливать спамерам базу.
  • Грейлистинг. Сервер может временно отклонить незнакомого проверяющего (4xx), и вы получите «непонятно» вместо ответа.
  • Риск для вас. Массовые SMTP-пробы с одного IP выглядят как разведка спамера — ваш адрес быстро попадёт в блэклист, и уже настоящие письма перестанут доходить.
Единственная стопроцентная проверка существования адреса — отправить на него письмо и получить (или не получить) отказ. Всё остальное — оценка вероятности, а не факт.

Как проверять безопасно

  • Валидируйте на вводе. Проверяйте синтаксис + наличие MX прямо в форме подписки/регистрации — это отсекает опечатки и мёртвые домены без всякого риска.
  • Double opt-in. Золотой стандарт: после подписки шлёте письмо со ссылкой подтверждения. В базу попадают только реальные, согласившиеся адреса — и существование подтверждено, и юридически чисто (152-ФЗ).
  • Следите за bounce. Обрабатывайте возвраты и сразу удаляйте hard-bounce адреса из списка — это и есть «проверка существования» по факту доставки. Подробнее — в статье про обработку возвратов.
  • Не гоняйте чужой сервер SMTP-пробами. Для оценки домена (принимает ли он почту вообще, нет ли проблем с SPF/DKIM/DMARC) используйте проверку email-настроек — она смотрит конфигурацию домена, а не долбит конкретный ящик.

Частые вопросы

Есть же онлайн-сервисы «проверить почту на существование». Им верить?

Они делают ровно те же три шага — синтаксис, MX, SMTP-проба — и упираются в те же ограничения: catch-all и антиспам делают ответ по крупным провайдерам недостоверным. Как быстрый фильтр опечаток и мёртвых доменов такие сервисы полезны, но «зелёная галочка» у ящика на Gmail не доказывает, что адрес живой.

Как проверить, не выдумал ли пользователь адрес при регистрации?

Только подтверждением: письмо со ссылкой активации (double opt-in). Пока пользователь не перешёл по ссылке — адрес считается неподтверждённым. Это надёжнее любой SMTP-пробы и заодно защищает от ботов и чужих адресов.

Почему письмо ушло, но «проверка» показывала, что адреса нет?

Скорее всего сработал грейлистинг или временная недоступность сервера в момент пробы — адрес живой, но на разовый запрос сервер ответил уклончиво. Ещё один довод против доверия к мгновенной SMTP-проверке.

Чеклист на память

  • Три уровня: синтаксис → MX-записи домена → SMTP-проба; надёжны первые два.
  • Нет MX у домена — все адреса на нём мертвы, это быстрая отсечка.
  • SMTP-проба врёт: catch-all, антиспам и грейлистинг делают ответ недостоверным.
  • 100%-я проверка — только реальная отправка; в базу — через double opt-in.
  • Не гоняйте чужие серверы пробами — попадёте в блэклист сами.

Проверьте ваш сайт прямо сейчас

Следить за своим сервером →
Другие статьи: Инфраструктура
Инфраструктура
Настройка nginx с нуля: конфиги, контексты и server-блок
06.08.2026 · 606 просм.
Инфраструктура
Логи nginx: где лежат, как читать и как настроить ротацию
06.08.2026 · 525 просм.
Инфраструктура
Почта на своём домене: Яндекс 360, VK WorkSpace или свой
21.07.2026 · 504 просм.
Инфраструктура
Версионирование API: URL, заголовки и параметры запроса
16.03.2026 · 397 просм.