Секреты проверки электронной почты
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 проверок без оплаты.
