Для того, чтобы подключить и настроить сборщик почты, нам необходимо настроить скрипт, который будет обращаться к базе данных postfixAdmin и исходя из заданных там параметров собирать почту с другого почтового сервера. Так как по умолчанию данная опция не имеет связки с почтовым сервером, сделаем данный функционал рабочим.
1. Добавим учетную запись и сбор почты в postfixAdmin
https://mydomain.tld/postfixadmin/public/edit.php?table=fetchmail
2. Внесем изменения в скрипт, указав параметры подключения к базе данных:
nano /usr/local/bin/fetchmail.pl
...
database settings
database backend - uncomment one of these
our $db_type = 'mysql';
host name
our $db_host="127.0.0.1";
database name
our $db_name="";
database username
our $db_username="";
database password
our $db_password="";
...
3. Установка необходимых пакетов, в случае возникновения ошибки при запуске скрипта
chmod +x /usr/local/bin/fetchmail.pl
apt install libdbd-pg-perl libdbd-mysql-perl libdbd-syslog-perl liblogger-syslog-perl liblockfile-simple-perl
3.1 Добавим задачу в cron
crontab -e
*/2 * * * * /usr/local/bin/fetchmail.pl
Теперь можно активировать наши настройки в пункте 1 и проверить работу. В нашем примере мы сделали настройку чтобы скрипт забирал только новые, т.е. непрочитанные письма, таким образом мы избавимся от дублей. После сбора новых писем скрипт пометит их на удаленном сервере прочитанными.