CleanContact
← Назад в базу знаний

Как работает проверка ящика по SMTP

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

Поиск сервера

Сначала мы смотрим MX-записи домена, чтобы узнать, какие серверы отвечают за его почту, и подключаемся к серверу с наивысшим приоритетом.

Рукопожатие

Затем мы проходим начало SMTP-транзакции:

220 mx.example.com ESMTP
HELO checker.cleancontact.ru
250 mx.example.com
MAIL FROM:<probe@cleancontact.ru>
250 OK
RCPT TO:<someone@example.com>
250 OK   ← ящик существует
... или ...
550 No such user   ← ящика не существует

Решающий момент — ответ на RCPT TO. Код 250 означает, что сервер готов принять почту для адреса; 550 (или похожий 5xx) — что нет. Мы читаем этот ответ и отключаемся: ни DATA, ни письма, ничего не попадает в ящик.

Почему не всегда всё чисто

Серверы не обязаны быть честными. Catch-all принимает любой RCPT TO независимо от того, реален ли ящик, а грейлистинг возвращает временный 4xx с просьбой вернуться позже. CleanContact справляется с этим, направляя запрос на свежие узлы, соблюдая паузы и возвращая Unknown вместо догадок.