Grabber¶
The asynchronous mail grabber or asynchronous grabber is a feature that collects and processes emails from an IMAP server in multi-threaded mode.
Attention
The grabber uses port 8081 for the technical web interface that displays its current status.
Software¶
Software |
Version |
|---|---|
Operating System |
|
Additional Software |
Check current Python version: python3 --version
Install Python 3.7: sudo apt install python3.7
|
Mail Server¶
The grabber works with any IMAP server, including:
Microsoft Exchange Server
Gmail
RAM¶
Per 1000 emails:
Email type |
Processing time (hours) |
RAM |
Light |
2.2 |
1 GB |
Heavy |
10.1 |
6 GB |
Mixed |
4.6 |
3 GB |
Types of emails:
light emails: 1 MB
heavy emails: 50 MB
mixed: 15.7 MB, where 70% of emails are 1 MB and 30% are 50 MB
Attention
The table lists the minimum RAM requirements. They only take the mail grabber requirements into account and do not include operating system overhead, Python processes, or other software.
The RAM required for processing emails is calculated using the formula:
RAM = AVERAGE_MSG_SIZE * (WORKERS_DOWNLOADERS * DOWNLOAD_BATCH_SIZE + WORKERS_PARSERS + 2 * REPORT_BATCH_SIZE)
where:
AVERAGE_MSG_SIZE— average email size in megabytes, depends on email attachments
Parameters set in the grabber configuration file:
WORKERS_DOWNLOADERS— number of threads for downloading emails, default value: 5DOWNLOAD_BATCH_SIZE— amount of emails downloaded from the IMAP server at a time, default value: 10WORKERS_PARSERS— number of threads for processing emails, default value: 10REPORT_BATCH_SIZE— amount of emails sent to Staffcop at a time, default value: 10
Note: If the average email size is 25 MB, 2000 additional MB of RAM will be required.
25 * (5 * 10 + 10 + 2 * 10) = 2000 MB
Last Updated: 01.12.25