Сортировщик SMTP / POP3 аккаунтов
Задача:
1. На основе входящих данных о почтовом аккаунте (Login:pass), сформировать таблицу со значениями smtp/pop3 серверов данного аккаунта.
Дано:
1. Файл accounts.txt - список почтовых аккаунтов в формате login:pass ([email protected]:password)
2. Файл rules.txt - список правил для сортировки аккаунтов
a. формат записи в данном файле следующий:
domain.com:smtp_prefix:smtp_port:pop3_prefix:pop3_port
Например
default:mail:465:pop:995 (дефолтное правило для доменов из accounts.txt, которые не описаны в правилах rules.txt)
gmail.com:smtp:465:pop:995
aol.com:smtp:465:imap:143
3. filtered-smtp.xls - таблица с отсортированными smtp аккаунтами (можно в формате csv сохранять, но предпочтительней xls)
4. filtered-pop3.xls - таблица с отсортированными pop3 аккаунтами
5. unfiltered-smpt.xls - таблица с отортированными smtp аккаунтами по дефолтному правилу.
6. unfiltered-pop3.xls - таблица с отортированными pop3 аккаунтами по дефолтному правилу.
Алгоритм:
1. Открываем файл accounts.txt, сравниваем первую запись на соответствие с доменом из фильтра. Допустим, первые 3 записи в accounts.txt такие:
[email protected]:kelvin15
[email protected]:X3P3R3S2X6
[email protected]:password3
2. Проверям домен в первой строке, определяем, что это aol.com
3. Ищем в файле фильтре домен aol.com и правила создания списков для этого домена
4. Если в фильтре имеется правило для aol.com, в этом случае добавляем в файл filtered-smtp.xls такую строку:
smtp.aol.com 587 15 3 1 true 1 1 1 0 [email protected] kelvin15 0 1 0 20 300
В первую ячейку таблицы подставляем префикс для smtp сервера aol.com. В нашем случае в rules.txt указано, что для aol.com smtp сервер = smtp.aol.com.
Во вторую ячейку добавляем порт smtp сервера, в нашем случае порт = 465. Следующие 8 ячеек заполняем дефолтными значениями, которые никогда не меняются.
В 11 и 12 ячейки добавляем почтовый ящик и пароль от него. Следующие 5 ячеек заполняем дефолтными данными.
5. В таблицу filtered-pop3.xls сохраняем настройки Pop3 сервера для данного почтового аккаунта
imap.aol.com 143 a.scoular1 kelvin15 [email protected]
В первой ячейке сохраняем данные о pop3 почтового сервера, в нашем случае pop3 = imap.aol.com. Вторая ячейка = порт pop3 сервера. Третья ячейка - это логин почтового аккаунта (то что идет до символа @)
Четвертая ячейка = пароль. И пятая ячейка - емайл.
6. Если в файле rules.txt отсутствует запись о каком-либо домене, в этом случае в таблице unfiltered-smtp.xls в качестве SMTP сервера почтового аккаунта и порта SMTP сервера подставляем дефолтные значения. Например,
правило для mail.ru не описано в rules.txt, значит для аккаунта [email protected] применяем правило default и создаем такую запись в таблице
mail.mail.ru 465 15 3 1 true 1 1 1 0 [email protected] password3 0 1 0 20 300
7. unfiltered-pop3.xls заполняем дефолтными данными по аналогии с п.6 алгоритма, для mail.ru создаем такую запись:
pop.mail.ru 995 5519zzz password3 [email protected]