如何向在 docker 容器中运行的 spamassassin 传授 spam 和 ham?

如何向在 docker 容器中运行的 spamassassin 传授 spam 和 ham?

我在与 Postfix 和 Dovecot 分开的 Docker 容器中运行 SpamAssassin 作为邮件过滤器。Postfix 和 SA 配合得很好,Postfix 连接到spamass-milter,SA 运行正常,邮件得到适当标记,一切都很好。

现在,我希望能够通过移动收件箱和垃圾邮件之间的邮件,教会 SA 区分垃圾邮件和正常邮件,就像本指南。我确认 sieve 的工作原理是使用一个简单的过滤器,当 SA 标记垃圾邮件时,它会将垃圾邮件移至垃圾文件夹,而且它似乎有效。Dovecot 也在自己的 Docker 容器中运行。

该指南暗示spamc命令可以通过 TCP 连接到 SA 实例,如果这并不意味着我必须spamc在运行 Dovecot 的容器内使用 SA,那就太好了,这意味着必须在该容器内安装 SA,而这又意味着大量不必要的重复。

有没有解决的办法?

编辑有人建议基于 Ubuntu 的容器有一个spamc包。但是,我使用的是 CentOS 基础映像,它没有单独的spamc包。

答案1

就在这里!

由于你只需要spamc在 Dovecot 容器中,你应该仅安装 spamc而不是 Dovecot 容器中的 Spamassassin。

Debian/Ubuntu(Dovecot 容器):

apt install spamc

CentOS(Dovecot 容器):

你可以单独安装 spamc点子(Python包管理器)。

pip install spamc

如果你的容器尚未安装 pip:

添加 EPEL 存储库:

yum install epel-release

安装 pip:

yum install python-pip

现在使用 pip 安装 spamc,如上所述。

相关内容