在与同事和办公室相关部门讨论后,我得出结论Postfix server
,我必须实施before-queue
过滤。原因是,如果after-queue
实施过滤,电子邮件将会丢失,而发件人(如果是误报)永远不会意识到这一点。
这对我的公司来说是不可接受的;如果falsely accused
发件人收到通知,我们希望他/她尝试通过其他渠道重新发送电子邮件。如果他/她没有收到通知,他/她就不会尝试重新发送。
现在,在仔细阅读了 上的各种文档后SpamAssassin
,我发现了多种实现SpamAssassin before-queue
过滤的方法。例如,
- SA + amavisd-new(作为 smtpd 代理运行)
- SA + amavisd-new + amavisd-milter
- SA + MIMEdefang(以 milter 身份运行)
- SA + spampd (作为 smtpd 代理运行)
- SA + milter-spamd
我相信你也可以找到其他方法来实现它。
以上哪一项(些)是推荐的?
您知道它的优点/缺点吗?或者您有更好的选择吗?
答案1
没有!只需使用 amavisd-new(带 SA,不带病毒扫描程序!!)作为 before-queue-filter。
您可以按照此处所述进行操作:http://www.postfix.org/SMTPD_PROXY_README.html甚至连优点和缺点都进行了广泛的讨论。
在开始之前你应该先看看http://www.postfix.org/POSTSCREEN_README.html在垃圾邮件到达 amavis 之前,删除 70% 的垃圾邮件。
之后你看看http://www.policyd-weight.org/再下降10%。
当您进行队列前过滤时,请使用适当数量的(经过测试的!)amavis 工作线程。并将 amavis 的 tmp 目录放入 RAM 磁盘(在 amavisd-new 网站上有描述)。无需太多调整,它每秒可以过滤 20 封邮件。调整可以让您获得更多收益,但您的流量真的那么高吗(假设只剩下 20%)?
答案2
这个问题已经很老了。但对于像我这样偶然发现它的人来说。Amavisd-New 有这个选项:
$final_spam_destiny = D_DISCARD;
因此只需将上面的默认值更改为:
$final_spam_destiny = D_BOUNCE;
所有被视为垃圾邮件的电子邮件都会被退回,而不会被丢弃。但请记住,如果邮件严重失败,则很可能是一封虚假电子邮件,会导致邮件来回退回。