Сборщик почты

Асинхронный сборщик почты, или асинхронный граббер — компонент, который принимает и обрабатывает письма с IMAP-сервера в многопоточном режиме.

Внимание

Граббер использует порт 8081 для технического веб-интерфейса, который отображает его текущее состояние.

Программное обеспечение

ПО

Версия

Операционная система

  • Ubuntu 20.04

  • Ubuntu 22.04

  • Astra Linux 1.7

  • Astra Linux 1.8

Дополнительное программное обеспечение

  • glibc=2.28+

  • Python 3.7

Проверить текущую версию Python:

python3 --version

Установить Python 3.7:

sudo apt install python3.7

Для установки Python 3.7 на Astra Linux 1.8 следуйте инструкции.

Почтовый сервер

Сборщик работает с любыми IMAP-серверами, включая:

  • Microsoft Exchange Server,

  • Яндекс.Почта,

  • VK WorkSpace,

  • Gmail.

Оперативная память

Для обработки 10000 писем:

Тип писем

Время обработки (часы)

ОЗУ

Легкие

2,2

1 ГБ

Тяжелые

10,1

6 ГБ

Смешанные

4,6

3 ГБ

Типы нагрузки:

  • легкие письма: 1 МБ;

  • тяжелые письма: 50 МБ;

  • смешанная нагрузка: 15,7 МБ, где 70 % писем по 1 МБ и 30 % по 50 МБ.

Внимание

В таблице указаны минимальные значения ОЗУ. Они учитывают только требования обработки почты и не включают накладные расходы операционной системы, Python-процессов и других служб.

Объем памяти на обработку писем вычисляется по формуле:

RAM = AVERAGE_MSG_SIZE * (WORKERS_DOWNLOADERS * DOWNLOAD_BATCH_SIZE + WORKERS_PARSERS + 2 * REPORT_BATCH_SIZE)

где:

  • AVERAGE_MSG_SIZE — средний размер письма в мегабайтах. Зависит от вложений в письме.

Параметры, которые задаются в конфигурационном файле граббера:

  • WORKERS_DOWNLOADERS — количество процессов загрузки. По умолчанию: 5.

  • DOWNLOAD_BATCH_SIZE — количество сообщений, которые скачиваются за один запрос. По умолчанию: 10.

  • WORKERS_PARSERS — количество процессов обработки. По умолчанию: 10.

  • REPORT_BATCH_SIZE — количество сообщений в пакете, который будет отправлен в Staffcop. По умолчанию: 10.

Пример: если средний размер писем составляет 25 МБ, то сверх работы системы потребуется 2000 МБ оперативной памяти.

25 * (5 * 10 + 10 + 2 * 10) = 2000 МБ

Последнее обновление: 31.10.25