在使用 spamassassin 和 clamav 的情况下 content_filter 如何工作?以下是一个 content_filter 的示例:http://www.postfix.org/FILTER_README.html 我发现 sendmail 命令不能使用相同的 content_filter,否则会形成循环。但是,如果将 content_filter 设置为 spamassassin,那么过滤完成后如何运行下一个 clamav 过滤器?
如果有人知道,请逐步向我展示如何使用标准配置 spamassassin 和 clamav(master.cf 中的 spamassassin 作为 smtp 服务的附加选项,main.cf 中的 clamav:scan:localhost:10025)顺序过滤 content_filter 的工作原理,其中 content_filter 被阻止并被下一个替换。
答案1
一般来说,您有以下选择。
- 您可以设置第一个内容过滤器,这样它就不会直接将数据注入 Postfix,而是将数据提供给第二个内容过滤器。然后它可以进一步提供数据,并且只有链中的最后一个过滤器才会将邮件注入 Postfix。
- 请注意,您已经在使用专用的 Postfix
smtpd
实例(请参阅 FILTER_README 页面上的“高级过滤器:将邮件重新注入 Postfix”),该实例已content_filter
清除设置。您可以添加一个中间的smtpd
实例,它将从第一个内容过滤器接收数据并将其输入到另一个内容过滤器中。请注意,Postfix 将记录每封成功发送的邮件三在这种情况下次。 - 使用过滤管理器,例如 Amavis。它是唯一需要挂接到 Postfix 的东西,然后它会通过自己的方式调用 Spamassassin 和 ClamAV。这是通常的“通用”做事方式,有很多分步指南都是这样操作的,我很惊讶你自己没有碰到它。
- 停止队列后处理
content_filter
并采用队列前milter
处理。在我看来,它更容易部署和维护,系统看起来更干净、更易理解。连接多个过滤器也很容易,手册中介绍了这一点。像 Amavis 这样的过滤管理器也支持通过过滤器接口进行挂钩。请参阅http://www.postfix.org/MILTER_README.html。