GeekProxy в email-чекерах
Десктопные и self-hosted валидаторы проверяют ящик сами: находят MX-запись и говорят с почтовым сервером получателя по SMTP на 25-м порту. Большинство домашних и офисных линий этот порт режут, поэтому у таких программ есть диалог прокси. Разбираем Atomic Mail Verifier, Smart Email Verifier от DeskShare и опенсорсный check-if-email-exists и честно говорим, что прокси чинит, а что нет.
Что нужно: активный план GeekProxy Residential Turbo и данные прокси из кабинета. На каждую программу уходит минут десять.
Получить прокси1 Перед началом
Все три программы проверяют поэтапно. Сначала синтаксис, потом домен и его MX-записи, потом самое дорогое: SMTP-диалог с сервером назначения. EHLO, MAIL FROM, RCPT TO и QUIT, ничего не отправляя. Ответ сервера на RCPT TO и есть вердикт. Для этого диалога нужен исходящий TCP 25.
Теперь честная часть. Порт 25 первый, который закрывают домашние провайдеры, и прокси помогает только если сам пропускает 25-й. Из продуктов GeekProxy почтовые порты доступны на Residential Turbo, подробности уточняйте в поддержке. Residential Flex по документации закрывает 25, 465 и 587, а про ISP, датацентр и мобильные мы почтовых портов не обещаем.
И ещё одно до покупки. Резидентские выходы это диапазоны конечных пользователей, те самые, которые Spamhaus в Policy Block List описывает как адреса, откуда не должна идти прямая неавторизованная SMTP-доставка. Часть почтовых серверов отказывает такому адресу или ставит его в greylist, даже если 25-й открыт. Чекер тогда пишет «unknown» или ошибку соединения, а не «invalid». Закладывайте повторы, а не чистые 100 процентов.
Что понадобится
- Активный план GeekProxy Residential Turbo
- Данные прокси из кабинета: хост шлюза, порт, логин, пароль
- Windows для Atomic Mail Verifier и Smart Email Verifier. check-if-email-exists работает в Linux и macOS как CLI или в Docker
- Поле Откуда взять
- Протокол SOCKS5 / HTTP
- Хост rst.geekproxy.net
- Порт 1080 (SOCKS5) или 8989 (HTTP)
- Логин из кабинета
- Пароль из кабинета
2 Где взять данные прокси
- Войдите в кабинет GeekProxy
- Откройте план Residential Turbo и нажмите Options. Панель Proxy Configuration соберёт строку логина со страной, городом и настройками сессии
- Скопируйте готовую строку из Proxy List. Шлюз
rst.geekproxy.net, SOCKS5 на порту 1080, HTTP на 8989
Для чекеров важны два суффикса из документации Turbo. session-<id> закрепляет один выход за всеми потоками, time-<minutes> задаёт срок, до 1440. Зачем закреплять? Greylisting. Сервер, который ответил «зайдите позже», ждёт повтор с того же адреса, а ротация на каждый запрос с того же адреса не возвращается никогда.
3 Atomic Mail Verifier
Только Windows, многопоточный, четыре уровня проверки: синтаксис, домен и MX, существование ящика по SMTP и тест на catch-all. Страница продукта про третий уровень говорит прямо: он возможен «only if you have port 25 open». FAQ добавляет, что прокси должен быть совместим с 25-м портом. Русская сборка ePochta Verifier заявляет те же типы прокси, HTTP, Socks 4, Socks 4A и Socks 5, и то же требование к 25-му порту.
Прокси один на всю программу. Путь по мануалу:
- Откройте Verify, затем Common settings
- Перейдите на вкладку Proxy settings. По умолчанию там пусто
- Выберите тип. Список такой: not use proxy, HTTP proxy, Socks 4 proxy, Socks 4A proxy, Socks 5 proxy. Берите Socks 5 proxy
- Proxy IP:
rst.geekproxy.net. Port:1080 - Отметьте Proxy needs authorization и заполните Login и Password
Поля раздельные, строку вида scheme://user:pass@host программа не принимает. Если план GeekProxy в режиме белого списка IP, галочку авторизации не ставьте. В FAQ тот же экран назван Settings, Common settings, Proxy, так что не удивляйтесь, если в вашей сборке меню подписано иначе.
Тест порта от самого вендора, из FAQ: откройте командную строку и наберите telnet smtp.com 25. Баннер в ответ значит, что порт на этой линии открыт. Таймаут значит, что провайдер его режет. Это нормальное положение дел и причина, по которой вы читаете эту страницу.
4 Smart Email Verifier
Программа старая, но диалог прокси у неё самый понятный в категории, поэтому показываем. Сначала одно правило: она говорит только по SOCKS. Форум вендора: через HTTP и FTP-прокси не работает, варианты SOCKS 4, 4A и 5, обычный порт SOCKS 1080.
- В меню Tools выберите Options. Вкладки: General, Rules, DNS, SMTP и Proxy
- На вкладке Proxy отметьте My computer uses a proxy server to connect to the internet
- В блоке Proxy Server впишите IP Address
rst.geekproxy.net, Port Number1080и выберите SOCKS 5 - Отметьте Proxy Server requires authentication, введите логин и пароль
- На вкладке General поставьте уровень Syntax + Domain + SMTP. Второй вариант, Syntax + Domain, 25-й порт не трогает, и прокси ему никогда не был нужен
На вкладке SMTP лежат HELO, Mail From, SMTP Port и Timeout. SMTP Port оставьте 25. Настоящие почтовые серверы слушают этот диалог там и больше нигде.
5 check-if-email-exists
Опенсорсный вариант для Linux и macOS, он же Reacher. README так же прямолинеен, как и вендоры под Windows: «outbound port 25 must be open». CLI принимает прокси четырьмя флагами, у каждого есть двойник в переменных окружения. Только SOCKS5, логин и пароль поддерживаются.
check_if_email_exists \ --proxy-host rst.geekproxy.net \ --proxy-port 1080 \ --proxy-username LOGIN \ --proxy-password PASSWORD \ [email protected]
Флаг порта читается только вместе с хостом, и по умолчанию там и так 1080. Есть и --smtp-port, по умолчанию 25. Менять его имеет смысл только против тестового сервера, который вы контролируете. То же самое через переменные окружения, удобно в Docker:
export PROXY_HOST=rst.geekproxy.net export PROXY_PORT=1080 export PROXY_USERNAME=LOGIN export PROXY_PASSWORD=PASSWORD check_if_email_exists [email protected]
Поднимаете HTTP-бэкенд? POST /v0/check_email принимает необязательный объект прокси с полями host, port, username и password, так что прокси можно менять на каждый запрос. README тут же замечает, что для чего-то большего, чем совсем маленькие объёмы, нужны прокси с SMTP. Ради этого раздел и написан.
6 Проверка работы
Начните вне чекера. Через прокси запросите https://ipinfo.io/json в curl со схемой socks5h://. Если это не работает, неверны логин или пароль, и никакой чекер лучше не справится.
Потом прогоните крошечный список: один адрес, который точно живой, и один явно выдуманный на том же домене. Живой должен вернуться как valid, выдуманный как invalid. Если оба пришли «unknown» или с ошибкой соединения, 25-й порт с этого выхода не проходит. Смените session-<id>, это уведёт вас на другой адрес, а если не помогло, напишите в поддержку с целевыми доменами.
7 Какой продукт GeekProxy подходит
Для SMTP-этапа ответ один: Residential Turbo, SOCKS5 на rst.geekproxy.net:1080 со sticky-сессией, чтобы повторы после greylisting шли с того же выхода. Почтовые порты доступны на Residential Turbo, подробности уточняйте в поддержке. Residential Flex по документации закрывает 25-й порт, так что потянет только этапы синтаксиса и MX, которым прокси и не нужен. Почтовых портов на ISP, датацентре и мобильных мы не обещаем. Нужны они где-то ещё, спросите до покупки.
8 Частые проблемы
Все адреса падают с ошибкой соединения
Где-то на пути закрыт 25-й порт. Прогоните telnet из раздела 3 без прокси, чтобы убедиться, что провайдер режет, потом проверьте, что настройки прокси сохранены и тип SOCKS5.
Smart Email Verifier с прокси ничего не делает
Вы вписали HTTP-прокси. Вендор говорит, что через HTTP-прокси программа не работает вовсе. Переключитесь на SOCKS 5, порт 1080.
Большинство результатов «unknown»
Это эффект Spamhaus PBL из раздела 1. Сервер назначения отказался говорить с резидентским адресом или поставил его в greylist. Снизьте число потоков, закрепите сессию, чтобы повторы шли с того же выхода, и смиритесь, что часть доменов останется unknown.
Авторизация не проходит, хотя логин верный
Пароль попал не в то поле, либо план в режиме белого списка, а IP офиса в нём нет. У Atomic Mail Verifier и Smart Email Verifier галочка авторизации отдельная. Снимите её, если работаете по белому списку.
Два прогона одного списка дают разные результаты
Между прогонами сменился выход, и сервер, который первый адрес отправил в greylist, второй принял. Задайте в логине session-<id> и time-<minutes>, и прогоны станут повторяемыми.
Прокси для проверки email
Residential Turbo с SOCKS5 и sticky-сессиями до 24 часов, выдача за секунды.
Заказать