Модуль массовой проверки e-mail на существование

19 ноября 2015 в 3:42

Привет друзья.
Как некоторые из вас уже знают, есть у меня портал по недвижимости http://best-house.org И стоит передо мной тьма тьмущая всевозможных задач, от простых до очень сложных. Одна из очень важных для меня задач, и я более чем уверен, что и для вас тоже - это проверка большого количество емаил адресов на валидность и проверка на существование, как домена, так и самого адреса. При этом проверять нужно не мыла зарегистрированных пользователей, а разные всякие (старые клиенты, подписчики с другого сайта и т.п.). Я долго рыл инет в поисках готового модуля и понял, что нужно писать самому. Что я и сделал за вечер. В общем, в двух словах.

Модуль itp_verifier позволяет загрузить текстовый файл (один адрес в одной строке). Файл парсится. Каждый адрес проходит проверку на валидность записи. Валидные записи загружаются в базу данных, а сам файл удаляется с сервера. В общем, визуально все понятно без лишних слов.

Сама проверка на существование адреса происходит с помощью класса SMTP_Validate_Email - от Tomaš Trkulja (есть на гитхабе).
Проверка происходит в баш режиме в один поток. В один поток не очень быстро, но зато ваш ip, с большой вероятностью, не попадет в серый список. В принципе количество потоков можно увеличить при желании. Для этого в баш функции нужно скармливать не один адрес, а к примеру, массив из десяти.

Итак, каждый адрес отдельно проходит проверку на существование, после чего в базу записывается статус проверенного адреса. В итоге, плохие адреса можно сразу удалить. И оставшиеся сохранить, как текстовый файл. Уже проверенные адреса, которые вы сохранили, можно удалить из базы кнопкой Очистить все (Clear all).

Проверку проводил на VPS OVH, на 1500 адресах. Все пахало. Правда в первый раз вывалило ошибку PDO, но я повысил в my.cnf размер пакета: max_allowed_packet = 128M и все залетало без проблем.

Ссылка на гит трекер (от Атлассиан):
https://bitbucket.org/kirill-dan/itp-verifier/src/

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

Глюки, предложения, ругательства и благодарность можно оставлять в комментариях. Всем бобра!
Сайт автора http://best-house.org

Комментарии

Речь не идет о рассылке, речь идет о верификации. К примеру, человек подписался на новости и ввел не корректный e-mail. Или любая другая ситуация. Рассылка происходит через маилчимп, но он чертовски чувствителен к абус рейтингу. Вот пару мыл битые, и большой привет, аккаунт будет заблочен. В этом модуле же вы сможете исключить все плохие адреса из своего списка, тем самым не повредив свою репутацию. Проблема на самом деле насущная. И к спаму не имеет никакого отношения. А вот спамеры могут вам доставить почту без всего этого головняка. Меня например просто выбешивает спам по СМС. И вы там не поставите уже спам фильтры! Вот это реальная проблема.

21 ноября 2015 в 23:54

А, и еще момент. Валидация адресов на сервисах платная! Но мы ведь пользуемся Друпал, а не Битрикс, ведь правда Wink

21 ноября 2015 в 23:56

Скажите, вы хоть что-то понимаете в программировании? А что такое валидация в курсе, а что такое верификация? А разница между поиском МХ записи с проверкой адреса на существование (HEllO/EHHLO) и валидацией знаете или нет?! А модуль, который я сделал ставили, смотрели? Вы поняли о чем я вообще говорю или вы количество своих постов увеличиваете? Я не спрашиваю тут вашего совета! Я могу написать абсолютно любой функционал, хоть под Друпал, хоть на голой пыхе! Я сделал конкретный модуль под конкретные задачи! И делюсь тут ним. К чему тут ваши советы? Раздел видите в котором создан пост?

П.С. Я просто удивляюсь некоторым людям. Вроде не шипилявлю, вроде четко излагаю свои мысли, вроде пишу достаточно много аргументированного текста, а в финале мне советуют поставить модуль для валидации мыла в веб форме.

22 ноября 2015 в 14:12