在 Postfix 中同时使用 SpamAssassin 和 postscreen

在 Postfix 中同时使用 SpamAssassin 和 postscreen

我正在尝试使用 Postfix、postscreen 和 SpamAssassin 设置 MX 服务器。

根据 SpamAssassin 文档,我必须添加-o content_filter简体中文:服务于主配置文件。这适用于 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。为了使用 Postscreen,smtpd必须将命令替换为postscreen 命令。当我这样做时,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_filter设置主配置文件它工作正常,但之后我必须禁用除 postscreen 之外的所有其他服务,这会变得非常混乱主配置文件因为我必须添加-o到所有其他服务。


使用 postscreen 和 SpamAssassin 的最佳方法是什么?

答案1

我不知道您使用哪个文档。就我而言,我在主文件中有:

smtp      inet  n       -       y       -       1       postscreen

在 main.cf 中,我有:

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

因此邮件由 postscreen 接收,如果通过,则使用 milter 进入 spammassassin。

相关内容