Фрилансеры предложат решение вашей задачи уже через несколько минут!
Публикация заказа не займет много времени.
14 дней назад
Роман
32 года, Россия
2 года в сервисе
Был онлайн 1 день назад
11 отзывов
14 дней назад

Адресовано большому специалисту по Python, так как задач разных много.
Одна из них:

Нужно реализовать модуль, который мы подключим к нашему общему большому проекту, по рассылке писем.
В процессе рассылки писем, нам нужно понимать какой процент писем идет в папку спам, какой во входящие.
Соответственно, необходимо разработать модуль, который будет контрольные
почтовые ящики парсить, искать в письмах определенные метки, далее
смотреть в каком папке (спам/входящие) письма с нужными метками попало и
делать return результата или писать в БД.
То есть мы даем список емайл ящиков, например 100шт, в них будут письма с
определенными метками, задача просканировать каждый ящик на предмет
нахождения меток для определения нужных нам писем и сопоставить в какой
папке они находятся.
Например:
метка | где письмо

#r498 | входящие
#r498 | спам
#r498 | спам

Таким образом на выходе получаем что метка #r498 в 66% случаях находится в спаме  и 33% в во входящие.
Так делаем по каждой метке. Метка в данном случае просто будет
генерироваться в процессе рассылки, для идентификации самой рассылки и
подаваться на вход вашего модуля, также будет подаваться на вход время
старта рассылки. Соответственно нужно будет сканировать письма датой
позднее старта рассылки и с определенными метками.
Желательно работать многопоточно и быстро, практически результат был в Real-Time в процессе рассылки.
(Желательно также иметь возможность подключаться через прокси)
Работать должно на mail.ru/ya.ru/gmail.com там протокол один, по идее реализовав в одном месте, везде должно отрабатывать.

##############

Этот модуль нужно разработать как django app с использованием celery task (http://docs.celeryproject.org/projects/django-celery/en/2.4/introduction.html).

Делается некий асинхронный таск который на вход принимает уникальную метку и id рассылки. Рассылка это django model с названием "campaign", при разработке для себя можете создать маленький модель который в другом app, со следующими полями:
id, emails_total_count, emails_spam_count, emails_inbox_count

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

Таск проверяет отправленные письма и в конце результат напишет на бд (модел). Для потерянных, т.е. для тех писем которые нету не в спам и не во входящих, ничего делать не нужно, просто нужно написать на логи что не найден. Для логирования нужно использовать стандартный logging django (https://docs.djangoproject.com/en/2.2/topics/logging/).

Насчет отметки как прочитанное. Думаю этого делать не нужно, скорее нам нужно будет сделать некий чистильщик, который удаляет уже ненужные письма чтобы не занимать место в почтах (в том же gmail место ограничено), но это нужно отдельно посмотреть, не в рамках этой задачи, возможно celery таск по проверке будет триггерить следующий таск по чистке по завершений.

Нужные аккаунты с прокси должно хранится в db и должны быть подключены к django admin. Т.е. нужна таблица accounts где хранится логин пароль и domain (это можно вынести на отдельную таблицу), вторая таблицы proxies это просто список прокси возможно с логин пароль для авторизаций на прокси, и нужна таблица где устанавливается связть между accounts и proxies там настраивается для какого аккаунта нужно использовать какой прокси.

Итого, используемые технологий:
django - 2.1.7
celery - 4.2.1
база данных mysql (но так как используется django orm при разработке можете использовать sqlite)
os в основном linux

##############
Вознаграждение обговаривается индивидуально