Docker

如何將垃圾郵件和火腿教給在 docker 容器中執行的 spamassassin?

  • September 1, 2019

我在獨立於 Postfix 和 Dovecot 的 Docker 容器中將 SpamAssassin 作為 milter 執行。Postfix 和 SA 很好地協同工作,Postfix 連接到spamass-milter,SA 做它的事情,郵件被適當地標記,一切都很好。

現在,當我在收件箱和垃圾郵件之間來回移動郵件時,我希望能夠從火腿中教授 SA 垃圾郵件,或多或少類似於本指南。我通過一個簡單的過濾器確認了 sieve 的工作原理,當 SA 標記為垃圾郵件時,該過濾器將垃圾郵件移動到垃圾文件夾,而且它似乎有效。Dovecot 也在自己的 Docker 容器中執行。

該指南暗示該spamc命令可以通過 TCP 連接到 SA 實例,如果這並不意味著我必須spamc在執行 Dovecot 的容器內可用,這意味著必須在該容器中安裝 SA,這將是很棒的反過來又意味著很多不必要的重複。

有沒有解決的辦法?

編輯有人建議基於 Ubuntu 的容器有一個spamc包。但是,我使用的是 CentOS 基礎映像,它沒有單獨的spamc軟體包。

就在這裡!

由於您只需要spamc在 Dovecot 容器中,因此您應該只在 Dovecot 容器中安裝 spamc而不是 Spamassassin。

Debian/Ubuntu (Dovecot 容器)

apt install spamc

CentOS(鴿舍容器):

您可以使用pip(Python 包管理器)單獨安裝 spamc 。

pip install spamc

如果您的容器尚未安裝 pip:

添加 EPEL 儲存庫:

yum install epel-release

安裝點子:

yum install python-pip

現在如上所述使用 pip 安裝 spamc。

引用自:https://serverfault.com/questions/940199