Проверяем мейл адрес на существование. nslookup для mail.ru

Как проверить email-адреса на существование

У вас есть база эмейл-адресов? Но сколько из них валидных? Сколько реально существующих, рабочих в данный момент, не удаленных и не заблокированных? Вот и я подумал как это можно проверить. Подобрал и протестировал несколько модулей для python, слал запросы через telnet, проверял через сайты. И решил поделиться с вами как можно проверить рабочий email или нет.

Как проверить существование мейла через telnet

Данный способ я опробовал на личных доменах, mail.ru, gmail.com и Яндекс. Gmail в большинстве случаев сбрасывал подключение и толкового ничего не добился (использовал модуль для python). Кроме того, для подключения к gmail я использовал 587 порт, а не 25. А теперь по порядку.

1. Открываем командную строку (cmd). Вводим

Этот код проверяет записи MX для домена. Для гугла вводите gmail.com

Проверяем мейл адрес на существование. nslookup для mail.ru
nslookup для mail.ru

2. Дальше подключаемся по telnet. Пишем

Как проверить существование эмейл адреса. Подключаемся по telnet
Как проверить существование эмейл адреса. Подключаемся по telnet

Не забывайте писать порт. Я вначале забыл и долго думал почему не коннектится. Если у вас пишет «telnet не является внутренней или внешней командой…», то его нужно включить в настройках Windows.

В случае с gmail.com я подключался к smtp.gmail.com по 587 порту , но все равно подключение сбрасывалось.

3. После того как подключились по telnet пора отправлять запросы.

Запросы telnet для проверки существования email
Запросы telnet для проверки существования email

Сначала —

 . Это начало (можно ehlo bdseoru). Дальше почта, с которой тестируется отправка.

Mail from, как оказалось, играет важную роль. Если у домена нет своего smtp сервера, то дальше не пройдете.
Потом пишем эмейл получателя (именно то, что нам нужно тестировать)

Если мы получаем код ответа 250, значит все хорошо.

Но это в большинстве случаев. С почтой mail.ru все адреса возвращают код 250. То есть сервера мейл.ру готовы принять письмо, но адресат может не существовать (и соответственно письмо не дойдет, а отправитель может получить авто ответ от mail.ru).

Как проверить существование email на mail.ru

Если проверяемый эмейл адрес размещен на mail.ru, то можно проверить двумя способами. Вариант первый — зайти на «мой мир» и ввести эмейл в строке поиска.

Рабочий email или нет. На mail.ru
Рабочий email или нет. На mail.ru

Вариант второй — воспользоваться формой восстановления пароля. Если адрес не существует, то будет ошибка.

Mail.ru восстановление пароля
Mail.ru восстановление пароля

А если существует — то форма для ввода секретного слова.

Как проверить рабочий email или нет через Python

Я проверил несколько модулей. Более быстрым и точным для меня показался validate_email. Ставится он через pip, вместе с ним нужно поставить pyDNS (для проверки на существование).

Скорее всего, Вы получите ошибку при установке pyDNS. Я пользуюсь Python3 и мне помогла установка py3dns, и с версией.

Код очень простой. Импортируем модуль и делаем проверку:

Если адрес существует, выведет True, если нет — None.

Чтобы проверить мейл адреса списком, воспользуемся циклом for:

И все мне в этом модуле нравится, но вот адреса mail.ru он не определяет.  Кстати, вот еще некоторые примеры для модуля validate_email:

 Заключение

Некоторые smtp сервера также позволяют получить статус email адреса. Например, при запросе к почте что на яндексе, можно получить ответ что пользователь не существует.

Есть сайты, где можно проверить статус эмейл адреса онлайн. Кроме того, что там иногда капча (для массовой проверки не годится), так еще и проверка не 100% точная: одни адреса несуществующие определяют как реальные (пример с mail.ru); другие как несуществующие, хотя они полностью рабочие (на своих доменах).

Есть программы-чекеры. Но опять же — 100% правды они не показывают, не говоря уже о вирусах в программах-оболочках (когда функционал проверки и не заложен даже). Прежде чем скачивать такие программы — подумайте.

А как Вы проверяете email адреса на существование?

0 Comments

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *