uCheckeruChecker
7 мин чтения

Валидация email: ИИ против правил - честное сравнение

Regex или нейросеть? SMTP-хэндшейк или ML-скоринг? Вопрос звучит как «вилка или ложка» - зависит от того, что в тарелке. Мы используем оба подхода и знаем, где каждый ломается.


Правила: regex → MX → SMTP

Классика. Три шага, каждый отсекает свой слой мусора.

Regex - самый быстрый. Проверяет, что адрес похож на адрес: есть @, домен не пустой, нет пробелов. Работает за микросекунды. Ловит опечатки, случайный ввод, строки вида «asdf». Простая штука, но убирает удивительно много дряни.

MX-запрос - проверяем DNS. Если у домена нет MX-записи, он не принимает почту. Точка. 50–200 мс, и вы уже знаете: отправлять сюда бессмысленно.

SMTP-хэндшейк - подключаемся к почтовому серверу, говорим RCPT TO, слушаем ответ. 250 - ящик есть. 550 - нет. Единственный способ проверить конкретный адрес, а не просто домен.

Этот конвейер быстрый, дешёвый и предсказуемый. Для 70% адресов его достаточно. Но оставшиеся 30% - вот тут начинается боль.

Три дыры в правилах

Catch-all. Сервер говорит «250 OK» на любой адрес - хоть sdkjfhskdjf@company.com. SMTP тут бесполезен. А catch-all настроено у 15–20% корпоративных доменов.

Одноразовые адреса. Guerrilla Mail, Temp Mail и ещё пара сотен сервисов. Домен живой, MX на месте, SMTP отвечает. Формально всё ок. Через час ящик исчезнет. Вести чёрный список можно, но новые сервисы появляются быстрее, чем вы их добавляете.

Спам-ловушки и роботные адреса. test123456@gmail.com проходит все проверки. Переработанная ловушка - тоже. А отправка на них убивает репутацию домена. Regex не видит разницы между john.smith и xk7q9mz2.

ML-модель: другая оптика

AI не заменяет правила - он смотрит на задачу иначе. Модель обучена на миллионах адресов с известным исходом: доставлено, bounce, жалоба. Она выучила закономерности, которые в правила не укладываются.

Распределение символов в локальной части. Возраст домена. Паттерны именования внутри компании. Корреляция между провайдером и типом адреса. Всё это превращается в скор: вероятность, что адрес живой и безопасный.

Catch-all? Модель оценивает, насколько ivanov@company.com похож на реальный паттерн именования в этом домене. Disposable? Не нужен список - модель смотрит на признаки домена и классифицирует даже те, что появились вчера. Роботные адреса? Энтропия локальной части выдаёт их с головой.

Но AI - не магия

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

Прозрачность - проблема. Regex сломался? Открыл, посмотрел, починил. Модель выдала 0.43 вместо 0.87? Удачи с дебагом.

И модели стареют. Паттерны спама меняются, новые disposable-сервисы не похожи на старые. Без регулярного дообучения точность сползает.

А ещё инференс стоит вычислительных ресурсов. На одном адресе это незаметно, на миллионе - ощутимо.

Критерий
Правила
AI / ML
Синтаксис и формат
✅ Идеально - regex за микросекунды
🔸 Избыточно, правила справляются
Существование домена
✅ MX-запрос, быстро и точно
🔸 Может, но зачем - DNS дешевле
Существование ящика
✅ SMTP-хэндшейк (если сервер отвечает честно)
🔸 Дополняет, но не заменяет SMTP
Catch-all домены
❌ SMTP бесполезен - всегда 250
✅ Оценивает вероятность по паттернам
Одноразовые адреса
⚠️ Чёрные списки устаревают
✅ Классифицирует по признакам домена
Спам-ловушки
❌ Не отличает от обычных
✅ Скорит по энтропии и поведению
Скорость
✅ Быстро, особенно regex + MX
⚠️ Инференс дороже на больших объёмах
Прозрачность
✅ Видно, какое правило сработало
⚠️ Чёрный ящик, сложно дебажить
Адаптивность
❌ Ручное обновление правил
✅ Дообучение на новых данных

✅ сильная сторона · ⚠️ работает с оговорками · ❌ не работает · 🔸 избыточно

На практике: два этапа

Противопоставление - ложное. По нашему опыту, лучший результат даёт конвейер из двух этапов.

Сначала - правила. Regex, MX, SMTP. Быстро, дёшево, убирает 60–70% мусора. Здесь не нужно ничего предсказывать - ответы бинарные.

Потом - ML. Адреса, прошедшие первый фильтр, попадают в модель. Она расставляет скоры: вероятность bounce-а, флаг disposable, риск спам-ловушки. Вы сами выбираете порог - консервативный или агрессивный.

Правила снимают тяжесть. AI разбирается в нюансах. Вместе они точнее, чем по отдельности.

Что делает uChecker

Именно этот конвейер. Загружаете список - каждый адрес проходит синтаксис, DNS, SMTP, а потом AI-скоринг. На выходе не просто «валидный / невалидный», а отчёт: причина, категория, уровень риска.

Catch-all домен? Покажем вероятность, что ящик реальный. Disposable? Пометим, даже если сервис появился на прошлой неделе. Подозрительный паттерн? Risk score - и решение за вами.

Хотите проверить свой список? Загрузите файл в uChecker - результат за минуты.