Spamassassin

在 Postfix 中同時使用 SpamAssassin 和 postscreen

  • May 18, 2022

我正在嘗試使用 Postfix、postscreen 和 SpamAssassin 設置 MX 伺服器。

根據 SpamAssassin 文件,我必須添加-o content_filtermaster.cf中的****smtp服務。這適用於 Postfix 的預設設置,即使用以下命令:smtpd

# SpamAssassin works:
smtp      inet  n       -       y       -       -       smtpd
 -o content_filter=spamassassin
spamassassin unix -     n       n       -       -       pipe
 user=spamd argv=/usr/local/bin/spamc -f -e  
 /usr/sbin/sendmail -oi -f ${sender} ${recipient}

但我也想使用後螢幕。為了使用 Postscreen,必須將smtpd命令替換為postscreen 命令。當我這樣做時,後螢幕工作,但 SpamAssassin 停止工作。

# SpamAssassin does not work:
smtp      inet  n       -       y       -       -       postscreen
 -o content_filter=spamassassin
spamassassin unix -     n       n       -       -       pipe
 user=spamd argv=/usr/local/bin/spamc -f -e  
 /usr/sbin/sendmail -oi -f ${sender} ${recipient}

postscreen命令似乎不尊重該-o標誌?當我content_filtermain.cf中設置時它可以工作,但是我必須為除 postscreen 之外的所有其他服務禁用它,這在master.cf中會變得非常混亂,因為我必須添加-o到所有其他服務。


同時使用 postscreen 和 SpamAssassin 的最佳方式是什麼?

不知道你用的是哪個文件。就我而言,我在主文件中有:

smtp      inet  n       -       y       -       1       postscreen

在 main.cf 中,我有:

postscreen_greet_action = enforce 
smtpd_milters = unix:/spamass/spamass.sock

所以郵件是由後螢幕接收的,如果它通過了,就使用 milter 進入 spammassassin。

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