Сортировщик SMTP / POP3 аккаунтов

Глебов12 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
16.07.2016

Задача:

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]