Проверка email на существование

Как невалидные email-адреса появляются в базе

Самый очевидный источник невалидных адресов — купленная база подписчиков. В честно собранной базе предпосылки обычно таковы:

1. Чаще всего невалидный адрес вводит сам пользователь. Например, он не вспомнил точное написание, вставил лишнюю букву или пропустил нужную.

Для примера возьмем пользователя по имени Виталий. Его адрес — vitaly@example.com. С английским у Виталия не очень, и при подписке на рассылку он добавил букву i и написал vitaliy@example.com.

2. Если у вас старая база, в ней могут быть удалённые или заблокированные адреса.

4. Конкуренты могут «бомбить» форму подписки ботами или спам-ловушками, чтобы подпортить статистику. Такое случается, хотя и редко.

Сравнение сервисов для валидации

Мы выбрали и протестировали пять популярных онлайн-валидаторов. Для теста загрузили файл с 10-ю адресами, из которых 2 валидных и 8 невалидных:

  • andrew4uni@yandex.ru —  существующий адрес на Яндексе;
  • andrey@lionnet.pp.ua — существующий адрес на корпоративном домене;
  • johnsmith@lionnet.pp.ua — несуществующий адрес на корпоративном домене;
  • sergey777@mail.ry — адрес с опечаткой в домене mail.ru;
  • validtest7@gmail.co — адрес с опечаткой в домене gmail.com;
  • test@example.org — домен example.org зарезервирован для использования в документации. Ящики на этом домене не принимают почту;
  • btiusembassy@bti-sitaindia.com — спам-ловушка;
  • norwegenkoch@hugin-versand.de — ещё одна спам-ловушка;
  • zeydodetro@enayu.com — одноразовая временная почта (disposable); 
  • testiiz@mail.ru — несуществующий адрес.

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

Способы проверки существования email

Онлайн-сервисы

Подходят, если у вас небольшая база. Работают элементарно: вы пишете адрес, нажимаете кнопку «Проверить» и тут же получаете ответ. Вот несколько неплохих сервисов:

Плюсы: регистрация не нужна, моментальный результат.

Минусы: есть лимит попыток, иногда нужно вводить капчу. Не подходят для проверки адреса с корпоративным доменом. В этом случае проверяют скорее существование самого домена, а имя пользователя пропускают любое:

Коммерческие валидаторы

Их удобно использовать, если вы планируете массовые рассылки, настраиваете автоворонку продаж и просто хотите, чтобы валидация проходила автоматически.

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

Вот список популярных валидаторов:

Минусы: нужна регистрация, ограниченные возможности в бесплатных тарифах.

Вот как выглядит результат проверки базы в Mailvalidator:

С помощью кода на сайте

Вот как это реализовали на сайте Arzamas.academy:

Плюсы: пользователь сразу видит, что допустил ошибку, а вы не получаете очевидно несуществующий адрес в базу.

Api проверки Email на валидность

Если Вы хотите проверить непосредственное наличие почтового ящика на сервере с помощью SMTP-запроса, добавьте параметр smtp_check . Время проверки может занять до 20 секунд. За проверку по smtp с вас будет списан дополнительный запрос. Пример:

free – почта на бесплатном почтовом сервере, типа yandex.ru или gmail.com

role=true – это адрес, который обычно указывает на функцию (например, «поддержка», «администратор почты»), а не на отдельное лицо или имя.

Если передан параметр smtp_check , то дополнительно возвращается:

mx_records – список почтовых серверов smtp_check = true или false, если false, то в error код ответа SMTP-сервера

Примеры API запросов проверки email

Команды SMTP сервера

Протокол SMTP (RFC 821) использует простые текстовые команды в формате ASCII и возвращает трехзначные кодированные ответы с текстовыми сообщениями.

Формат команд в SMTP прост: command , где command — четырехсимвольная команда протокола SMTP, а parameter — необязательный параметр, определяющий тип данных в команде.

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

На написание этого скрипта ушло меньше часа времени, а на его отладку я потратил больше месяца. Неоднократно я получал бан от почтовых серверов и потом вытаскивал свой ip из бана. Если Вы не хотите пройти через все злоключения, Вы можете приобрести скрипт проверки почтовых адресов за 8000 рублей (

128$). Код скрипта реализован на PHP, полностью открытый и не использует никаких дополнительных библиотек. Скрипт НЕ будет работать на виртуальном хостинге с закрытым портом SMTP.

Соглашение по использованию платной версии:
Вы можете использовать полученный код в любых своих разработках, вы не обязаны указывать ссылку на источник.
Вы НЕ имеете права перепродавать его, размещать в свободном или ограниченном доступе, а также публиковать в любом виде.
Все остальные права сохраняются за автором.

РегистрацияВойтиВойти через VKВойти через FBВойти через Google

Как зарегистрировать почту на Яндексе

Вероятно, вы знаете о том, что для обозначения адреса электронной почты используется специальный значок. Вот такой — @. В русском языке он, непонятно почему, называется «собакой». Все, что до этого значка – это название вашего почтового ящика. Все, что после – это указание на почтовый сервис, на котором он находится. Когда у вас будет почта на Яндексе, ваш почтовый ящик будет иметь окончание @yandex.ru.

Здесь, вроде бы, все понятно, кроме логина. Логин – это та комбинация, которая будет стоять до значка @ и служить названием вашего почтового ящика. Заполните и нажимайте «Дальше». Перед вами появится еще одно окошко.

Пожалуйста, отнеситесь серьезно к ответу на секретный вопрос. Оно нужен для того, чтобы вы могли восстановить пароль к вашему почтовому ящику, если вы вдруг его забудете. Для этой же цели служит адрес другой электронной почты (если он у вас, конечно, есть), а также номер вашего мобильного телефона. Кстати, привязанный телефон пригодится вам и, если вы захотите воспользоваться другими сервисами Яндекса, например, электронным кошельком Яндекс.Деньги. поэтому внимательно заполните предложенные поля и нажимайте «Зарегистрировать». Если все было сделано правильно, то перед вами должно появиться вот такое окошко.

Нажимайте «Начать пользоваться почтой» и переходите в ваш новый почтовый ящик.

Как работает ePochta Verifier?

Синтаксическая проверка

После данного типа проверки ваши списки рассылки не будут содержать адреса с опечатками или те, которые были умышленно неправильно написанные.

Проверка существования доменного имени адресата

Если не существует домена, то и электронный адрес заведомо не существует. Следовательно, он не допускается до третьего этапа проверки.

Если адрес получателя ann@mail.ru синтаксически верно написан и домен mail.ru существует, то имеет смысл проверять существование конкретного адреса в домене.

Последний шаг проверки адреса – анализ ответа почтового сервера

Программа делает попытку отправить сообщение на сервер и обрабатывает ответ от сервера. Таким образом по ответам почтового сервера получателя можно с большой точностью определить действительность адреса электронной почты.

Программа дает возможность проверить, зарегистрирован ли пользователь с данным адресом на Facebook. Если такой пользователь существует, программа извлекает все данные с его страницы. По окончанию проверки вы получаете полную информацию, которая доступна на личной странице владельца адреса в Facebook.

Отслеживание посылок ZJ..HK (JOOM)

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

  • Посылка отправлена
  • Посылка прибыло в отделение
  • Посылка получена адресатом

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

Как войти в почтовый ящик, чтобы проверить почту на Яндексе

Что делать после валидации

После удаления невалидных адресов можно отправлять письма. Но рассылать сообщения сразу по всей базе мы не рекомендуем. 

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

Когда адреса будут отсортированы, нужно напомнить подписчикам, кто мы и простимулировать прочитать наши письма — отправить какой-то бонус, предложение. Такой процесс называется реанимацией.  Мы детально описывали, как провести реанимацию базы подписчиков в статье.

Начинайте реанимацию по следующему алгоритму:

  • Выберите адреса с датой последней отправки, начиная с тех, кто получал письма меньше года назад. Отправьте им реанимационные письма.
  • Далее выберите адреса «постарше», с датой последней отправки 1-2 года, и тоже отправьте им реанимационные письма.
  • Выберите следующий сегмент (2-3 года) и разошлите письма им.
  • Таким же образом отправьте письма на оставшиеся адреса.

После каждой отправки на новые адреса регулярно проверяйте процент жалоб на спам в отчётах и статистику по попаданию в спам в постмастере.

Как только увидите, что процент жалоб заметно увеличивается или что письма начали попадать в папку спам, временно прекратите отправлять на новые адреса, пока статистика не улучшится.

Статусы отслеживания посылок Почты России

СтатусПеревод
Покинуло сортировочный центрПокинуло сортировочный центр
Прибыло в сортировочный центрПрибыло в сортировочный центр
Выпущено таможнейВыпущено таможней
Прибыло на территорию РФПрибыло на территорию РФ
СортировкаСортировка
Покинуло место международного обменаПокинуло место международного обмена
ЕдиничныйЕдиничный
Прибыло в место врученияПрибыло в место вручения
Покинуло место приёмаПокинуло место приёма
Прибыло в место международного обменаПрибыло в место международного обмена
Вручение адресатуВручение адресату
ПартионныйПартионный
Ожидает курьерской доставкиОжидает курьерской доставки
Передано курьеруПередано курьеру
Уточнение адреса
Адресату курьеромАдресату курьером
ЗасылкаЗасылка
Передано почтальонуПередано почтальону
Адресат не доступенАдресат не доступен
Временное отсутствие адресатаВременное отсутствие адресата
Прибыло в место транзитаПрибыло в место транзита
Покинуло место транзитаПокинуло место транзита
Истек срок храненияИстек срок хранения
Доставка отложена по просьбе адресатаДоставка отложена по просьбе адресата
Вручение отправителюВручение отправителю
Покинуло место возврата/досылкиПокинуло место возврата/досылки
Невозможно связаться с клиентомНевозможно связаться с клиентом
Неудачная доставкаНеудачная доставка
Иные обстоятельстваИные обстоятельства
Адресат заберет отправление самАдресат заберет отправление сам
ИнаяИная
Направлено с таможенным уведомлениемНаправлено с таможенным уведомлением
Адресату почтальономАдресату почтальоном
Отказ адресатаОтказ адресата
Истекает срок хранения (осталось 25 дней)
Возвращено таможнейВозвращено таможней
ДоставленоДоставлено
Неправильный/нечитаемый/неполный адресНеправильный/нечитаемый/неполный адрес
По заявлению пользователяПо заявлению пользователя
В ожидании оплаты сбора
Неполные/недостаточные/неверные документы
Отсутствие адресата по указанному адресуОтсутствие адресата по указанному адресу
Передача на временное хранениеПередача на временное хранение
Нет доставки на домНет доставки на дом
Адресат отказался от отправленияАдресат отказался от отправления
Направлено с обязательной уплатой таможенных платежейНаправлено с обязательной уплатой таможенных платежей
Направлено в ЦГПНаправлено в ЦГП
Партионный электронноПартионный электронно
Отправителю курьером
У адресата есть абонентский ящик
Адресату с контролем ответаАдресату с контролем ответа
Истекает срок хранения (осталось 5 дней)
Заявление отправителя
Засыл отправленияЗасыл отправления
НевостребованоНевостребовано
Отказ в выпуске таможнейОтказ в выпуске таможней
Выбытие адресата по новому адресуВыбытие адресата по новому адресу
Отправителю почтальономОтправителю почтальоном
Адресат переехал
Отправление повреждено и/или без вложения
Запрещено САБ
По требованию отправителя
Неверный адресНеверный адрес
НерозданоNerozdano
Невозможно прочесть адрес адресатаНевозможно прочесть адрес адресата
Адресат выбыл
УтраченоУтрачено
Несоответствие комплектности
Почта поступила на склад превозчика
Ожидается передача в таможенный органОжидается передача в таможенный орган
CN 22/23 некорректна
Получено назначенным операторомПолучено назначенным оператором
Неполная или некорректная документацияНеполная или некорректная документация
Имеются ограничения на импортируемые вложения
Передано в таможенный орган
Счет отсутствуетСчет отсутствует
ПрочееПрочее
Ожидается подтверждение стоимости от получателя
Передано перевозчикуПередано перевозчику
Контакт с клиентом невозможен
Имеются ограничения на экспортируемые вложения
Задержано в таможенном органе без указания причиныЗадержано в таможенном органе без указания причины
Отказ в выпуске
Счет некорректен
Передача в невостребованныеПередача в невостребованные
Форс-мажор/непредвиденные обстоятельства
Доставлено для вручения электронноДоставлено для вручения электронно
Таможенная декларация отсутствует или некорректна

Проверка Email на валидность и существование.

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

Формат адресов электронной почты – local-part @ domain, где local-part может иметь длину до 64 символов, а имя домена может содержать не более 253 символов. Формальные определения приведены в RFC 5322 и RFC 5321 – с более читаемой формой, приведенной в информационном RFC 3696 .

Локальная часть состоит из прописные и строчные латинские буквы (A – Z, a – z) (ASCII: 65–90, 97–122), Цифры от 0 до 9 (ASCII: 48–57), специальные символы: # – _

! $ & ‘() * +,; =: и %20, точка, точка, полная остановка), ASCII 46, при условии, что он не является первым или последним символом, а также при условии, что он не появляется последовательно (например, John..Doe @ example.com не допускается).

Проверка самого ящика на сервере(проверить по SMTP)

Для этого сервис устанавливает соединение с почтовым сервером получателя и отправляет ему команды по аналогии с отправкой письма. Если на сервере нет такого получателя, то при отправке команды “письмо для такого-то мыла”(RCPT TO:) сервер отвечает что такого ящика нет(код 550). Не все сервера отвечают согласно требованиям RFC, например сервер mail.ru на любое письмо отвечает кодом 250, что всё Ok.

С примером установления соединения и отправки команд можете ознакомиться здесь. Время проверки каждого е-mail может занимать до 60 секунд.

Некоторые почтовые сервера для защиты от спама используют технологию серых списков (Greylisting). При отправке письма сервер отвечает кодом 450 или 451, что он временно не готов принять письмо. В этом случае необходимо повторно проверить почтовый адрес более чем через 30 минут. При разовой проверке и проверке по API повторный запрос не отправляется. При пакетной обработке файла система будет ждать 30+ минут и повторно опрашивать почтовый сервер. Время обработки файла с почтовыми адресами в этом случе существенно возрастает. Дополнительная оплата при пакетной обработке за повторную проверку не взимается.

Почтовый сервер mail.ru (inbox.ru, bk.ru, list.ru) на любой адрес отвечает, что такой получатель есть и принимают для него полностью письмо. И только потом присылают FBL письмо, что такого адреса не существует. Используйте отписку для таких адресов.

Поиск на сайте

Регистрация почтового аккаунта на Яндекс.Почте

Итоги

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий