Задача: Нужно написать скрипт посредством которого будет чекаться email адреса

Т.к. я сейчас на удаленке то мой непосредственный руководитель поставил мне задачу. Сказал — «Займись, я знаю — что у тебя все получается и ты ответственный и доводишь каждую задачу до конца, плюс ты все документируешь»

Требования:

  • Скрипт должен работать только под Ubuntu 18.04, т.к. я не хочу его после оставлять коллегам в отделе если уйду из компании в другую, если я мучился с каждой задачей и не находил помощи, пусть следующий также сам набирается опыта.
  • Проверка есть ли почтовый ящик на сервере
  • Действительно ли почтовый сервер существует.

https://github.com/Easy-Forex/Verify-emails — вот репозитарий со скриптом.

ekzorchik@srv-bionic:~$ sudo apt-get install -y cpanminus libmail-checkuser-perl libparallel-forkmanager-perl

ekzorchik@srv-bionic:~$ sudo cpan Mail::CheckUser

ekzorchik@srv-bionic:~$ sudo cpan Parallel::ForkManager

ekzorchik@srv-bionic:~$ sudo cpan List::MoreUtils

ekzorchik@srv-bionic:~$ sudo cpan Getopt::Long

ekzorchik@srv-bionic:~$ wget https://github.com/Easy-Forex/Verify-emails/archive/master.zip

ekzorchik@srv-bionic:~$ unzip master.zip

ekzorchik@srv-bionic:~$ cd Verify-emails-master/

ekzorchik@srv-bionic:~/Verify-emails-master$ ./verify-emails.pl
Usage:
./verify-emails.pl --emails=FILE [--children=NUMBER] [--blacklist=FILE]
No --emails given at ./verify-emails.pl line 147.

ekzorchik@srv-bionic:~/Verify-emails-master$

Шаг №2: В файл emails.txt добавляю список всех почтовых адресов

ekzorchik@srv-bionic:~/Verify-emails-master$ cat emails.txt | head -n10
ks.smertina@jaluzion.ru
.ola@bk.ru
_gulnara_@list.ru
_tusha_@mail.ru
0.48@mail.ru
0009999@ay.ru
0058474@gmail.com
0086894@mail.ru
0092773@mail.ru
01imperia@mail.ru

Шаг №3: Запускаю скрипт:

ekzorchik@srv-bionic:~/Verify-emails-master$ ./verify-emails.pl --emails=emails.txt --children=10 --blacklist=blacklist.txt > out.txt

Шаг №4: На выходе файл out.txt где если открыть в Excel будет вот так:

Результат проверки Email-адресов на валидность

Работает. Обработало 11000 строк из них проблемные адреса это 870

Скрипт поместил к себе в личный Mercurial-репозитарий

На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.