uCheckeruChecker
Блог/Верификация
5 мин чтения

Секреты проверки электронной почты

Email-валидация - штука с подвохом. Вы прогнали базу через сервис, получили зелёные галочки, отправили рассылку… и половина писем ушла в никуда. Почему так и где ловушки - рассказываем из собственного опыта.

Синтаксическая проверка - это не проверка

«У меня стоит проверка формата на форме - зачем мне валидатор?» Слышим регулярно. Проверка формата отлавливает vasya@@gmial и на этом заканчивается. Адрес может выглядеть идеально и вести в ящик, удалённый два года назад.

Настоящая верификация работает иначе. Валидатор стучится в почтовый сервер по SMTP и спрашивает: «Примешь письмо для ivan@company.ru?» Сервер отвечает кодом - 250 (да) или 550 (нет). Само письмо не отправляется. Просто рукопожатие.

Catch-all: сервер, который говорит «да» на всё

Отправьте письмо на abcdef999@company.com - и сервер ответит «ок, принимаю». Ящика такого нет. Сервер просто настроен принимать всё, что прилетает на домен. Это catch-all, и это головная боль для любого валидатора.

Мы не можем отличить настоящий ящик от выдуманного, если сервер на всё кивает. Поэтому честный валидатор выделяет catch-all в отдельную категорию - например, uChecker помечает такие адреса как «risk».

Что с ними делать? Не удалять. Но и не валить в общую рассылку. Отправляйте отдельным сегментом, следите за баунсами. Если bounce rate по сегменту ниже 2% - всё нормально, продолжайте.

Greylisting: «Нет» не значит «нет»

Грейлистинг - антиспам-приём. Сервер отклоняет первое подключение с временной ошибкой (код 450). Расчёт на то, что нормальный MTA повторит попытку через пару минут, а спамер - нет.

Валидатор - не спамер, но и не полноценный MTA. Дешёвые сервисы делают один запрос, получают 450 и записывают адрес как invalid. Живой подписчик - удалён. Больно.

Мы в uChecker делаем повторные запросы с задержкой. Это медленнее, но результат честнее. Если ваш текущий валидатор не умеет обрабатывать greylisting - вы теряете реальных людей, даже не зная об этом.

info@, admin@, support@ - технически живые, практически мёртвые

Role-based адреса - это ящики-должности. За info@ может сидеть стажёр, секретарь или вообще никто. Письмо дойдёт. Но никто его не ждёт, никто не подписывался, и жалобу на спам отправят не задумываясь.

ESP вроде Mailchimp и Sendinblue прямо предупреждают: рассылка на role-based - риск для репутации домена. А восстанавливать репутацию отправителя - удовольствие на несколько недель.

Одноразовые адреса: 10 минут жизни

Guerrilla Mail, Temp Mail, Mailinator - сервисов одноразовой почты сотни. Человек вбивает адрес, скачивает ваш лид-магнит и исчезает. Через 10 минут ящика уже нет.

SMTP-проверка в момент регистрации покажет «good». Через час ящика уже нет - и письмо улетит в bounce. Поэтому одного SMTP мало. Нужна актуальная база disposable-доменов. Их сейчас больше 50 000, и каждую неделю появляются новые.

Кстати, если в вашей базе больше 5% одноразовых - это сигнал. Люди хотят ваш контент, но не доверяют настолько, чтобы оставить настоящий адрес. Может, стоит пересмотреть, что вы просите взамен.

100% точность - враньё

Если валидатор обещает 100% точность - закрывайте вкладку. Это технически невозможно, и вот почему за 30 секунд:

Catch-all серверы врут. Greylisting отказывает живым. Некоторые серверы вообще не отвечают на VRFY и RCPT TO - получаете unknown. А ещё ящик может быть валидным прямо сейчас и удалён через час, потому что сотрудник уволился.

95–98% - вот реальный потолок хорошего сервиса. Оставшиеся пара процентов - серая зона, которую не закроет никакой алгоритм. Только мониторинг и здравый смысл.

Результат «unknown» - не приговор

Unknown - это «сервер не ответил». Таймаут, обрыв соединения, перегрузка. Не значит, что адрес мёртвый. Не значит, что живой.

Первое, что стоит сделать - перепроверить через 2–3 часа. По нашей статистике, около 60% unknown при повторной проверке превращаются в valid или invalid. Сервер просто был занят.

Если после повторной попытки статус не изменился - вынесите в отдельный сегмент. Отправляйте по нему, но следите за bounce rate. Выше 5%? Убирайте.

База протухает быстрее, чем кажется

2–3% адресов в базе умирают каждый месяц. Люди меняют работу, компании закрываются, Gmail блокирует заброшенные аккаунты. За полгода без проверки вы теряете до 20% базы.

Проверяйте минимум раз в квартал. Перед крупной кампанией - обязательно. Стоимость проверки 100K адресов - пара тысяч рублей. Стоимость испорченной репутации домена - недели восстановления и потерянная выручка.

Что реально работает

Double opt-in. Банально, но до сих пор лучшая защита от мусора на входе. Одноразовые адреса, опечатки, чужие email - всё отсекается на этапе подтверждения.

Сегментация результатов. «Good» - отправляете. «Bad» - удаляете без раздумий. «Risk» (catch-all, одноразовые) - в отдельную группу, с пониженной частотой, под наблюдением. Hard bounce - удаляете сразу, не дожидаясь следующей проверки.

И выбирайте валидатор, который не прячет catch-all и unknown в категорию «good» ради красивых цифр в отчёте. Это не точность - это косметика.

В uChecker мы разделяем результаты на пять категорий: valid, invalid, catch-all, unknown и disposable. Без приукрашивания. Попробуйте бесплатно - 30 проверок без оплаты.

проверка emailверификация почтыcatch-all доменыSMTP проверкаdisposable emailemail валидациядоставляемость писемgreylisting