Я запускаю SpamAssassin как milter в контейнере Docker отдельно от Postfix и Dovecot. Postfix и SA прекрасно работают вместе, Postfix подключается к spamass-milter
SA делает свое дело, почта помечается соответствующим образом, все в порядке.
Теперь я хотел бы иметь возможность обучать спаму SA из радиолюбителей, когда я перемещаю сообщения туда и обратно между входящими и нежелательными, более или менее как в это руководство. Я подтвердил, что сито работает благодаря простому фильтру, который перемещает спам в папку нежелательной почты, если он отмечен SA, и, похоже, это работает. Dovecot также работает в собственном контейнере Docker.
Это руководство подразумевает, что spamc
может подключаться к экземпляру SA через TCP, что было бы здорово, если бы это не означало, что мне нужно иметь spamc
доступны внутри контейнера, в котором запущен Dovecot, что означает необходимость установки SA внутри этого самого контейнера, что, в свою очередь, означает множество ненужных дублирований.
Есть ли способ обойти это?
РЕДАКТИРОВАТЬ Было высказано предположение, что контейнеры на основе Ubuntu имеют spamc
пакет. Однако я использую базовый образ CentOS, у которого нет отдельного spamc
пакет.
Да, есть!
Как вам нужно только spamc
в вашем контейнере Dovecot вы должны только установить spamc а не Spamassassin в контейнере Dovecot.
Debian / Ubuntu (контейнер Dovecot):
apt install spamc
CentOS (контейнер Dovecot):
Вы можете установить только spamc с помощью пип (Менеджер пакетов Python).
pip install spamc
Если в вашем контейнере еще не установлен pip:
Добавьте репозиторий EPEL:
yum install epel-release
Установить пип:
yum install python-pip
А теперь установите spamc с помощью pip, как указано выше.