uCheckeruChecker

Что такое грейлистинг (greylisting)

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

Как это работает

При первом обращении неизвестной тройки (IP отправителя, адрес отправителя, адрес получателя) сервер возвращает SMTP-ответ с кодом 450 — временный отказ. Стандарт SMTP обязывает отправляющий сервер повторить доставку позже. Обычно greylisting-фильтр принимает повторное письмо через 5–15 минут и запоминает тройку, чтобы в дальнейшем не задерживать почту.

Большинство спам-ботов не реализуют повторную отправку. Поэтому грейлистинг отсекает значительную часть мусорного трафика при минимальных вычислительных затратах.

Кто использует

Грейлистинг встроен в Postgrey (для Postfix), SQLgrey, milter-greylist и ряд коммерческих антиспам-решений. Часть хостинг-провайдеров включает его по умолчанию. Крупные почтовые службы вроде Gmail или Outlook его не применяют - у них достаточно других механизмов фильтрации.

Влияние на валидацию email

Для сервисов проверки email грейлистинг создаёт проблему: при SMTP-валидации сервер отвечает 450 на команду RCPT TO, и без повторной попытки валидатор может ошибочно отметить адрес как несуществующий. Это классический источник ложных отрицательных результатов (false negative).

Грамотные валидаторы обходят это с помощью retry-логики: после получения 450-го ответа выдерживают паузу и повторяют запрос. Некоторые дополнительно ведут кэш известных greylisting-серверов, чтобы сразу закладывать задержку.

Как uChecker обрабатывает грейлистинг

uChecker распознаёт 450-е ответы и автоматически повторяет проверку с нужной задержкой. Это снижает количество ложных срабатываний и даёт более точный результат для адресов на серверах с грейлистингом.

Как это выглядит со стороны отправителя

Первое письмо на адрес получает временный отказ — 450 или 451 с формулировкой вроде «try again later». Нормальный почтовый сервер поставит письмо в очередь и повторит через несколько минут, и вторая попытка пройдёт. Спамерские рассылки обычно не повторяют: им дешевле идти дальше по списку.

Для получателя это почти бесплатный фильтр. Для отправителя — задержка первого письма от пятнадцати минут до часа, что критично для писем с кодом подтверждения и совершенно неважно для рассылки.

Чем грозит при валидации

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

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

Как отличить от настоящего отказа

Смотреть надо на первую цифру кода. Ответы, начинающиеся с 4, — временные: сервер просит повторить. Начинающиеся с 5 — постоянные: повторять бесполезно, ответ не изменится.

Путаница возникает из-за текста рядом с кодом. Формулировка «user unknown» рядом с кодом 450 выглядит как приговор адресу, но это по-прежнему временный ответ: часть серверов так маскирует грейлистинг, чтобы не подтверждать существование ящика с первой попытки.

грейлистингgreylistingантиспамSMTPtemporary reject
← Глоссарий