Postfixadmin, сбор почты скриптом fetchmail.pl

Настраивая связку Установка связки Postfix, MySQL, SpamAssassin, Maia в FreeBSD, я наткнулся на возможность настроить в Postfixadmin сбор почты для почтовых ящиков с внешних серверов.
Однако сразу эта возможность не заработала. Пришлось поработать руками.

Доустановим Fetchmail.

#cd /usr/ports/mail/fetchmail
#make install clean

По соображениям безопасности Fetchmail не рекомендуется запускать от пользователя root. Для этих целей мы создавали пользователя vscan.

Копируем fetchmail.pl в директорию к скриптам Maia.

#cp /usr/local/www/postfixadmin/ADDITIONS/fetchmail.pl /var/amavisd/maia/scripts/fetchmail.pl

Меняем владельца

#chown vscan:fetchmail /var/amavisd/maia/scripts/fetchmail.pl

Задаем права на испольнение, и запрещаем чтение файла для всех, в нем пароль.

#chmod 751 /var/amavisd/maia/scripts/fetchmail.pl

Меняем владельца для папки /var/run/fetchmail

#chown vscan:fetchmail /var/run/fetchmail

Отредактируем /var/amavisd/maia/scripts/fetchmail.pl

#our $db_type = 'Pg';
my $db_type = 'mysql';

# host name
our $db_host="127.0.0.1";
# database name
our $db_name="postfix";
# database username
our $db_username="postfix";
# database password
our $db_password="postfix_sql_password";

$ret=`/usr/local/bin/fetchmail -f $filename -i $run_dir/fetchmail.pid`;

Далее при запуске скрипта выяснилось, что необходимо до установить порт /usr/ports/devel/p5-LockFile-Simple

#cd /usr/ports/devel/p5-LockFile-Simple
#make install clean

Добавим в cron для пользователя “vscan

#crontab -u vscan -e
*/10 * * * * /var/amavisd/maia/scripts/fetchmail.pl