我正在尝试使用 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。