阻止已标记为垃圾邮件的外发垃圾邮件

阻止已标记为垃圾邮件的外发垃圾邮件

我运行一个 Postfix 服务器,其中还包含 Amavis 和 Spamassassin 等。Postfix 接收来自外界的邮件并将其传递给 Amavis。Amavis 让 Spamassassin 对邮件进行评级,然后在必要时将其标记为垃圾邮件。然后 Postfix 依靠每个用户的 procmailrcs 来按自己的意愿处理邮件。我相信这是正确的方法,因为我相信每个用户都应该有能力选择如何处理他们的垃圾邮件。不幸的是,我们的虚拟别名列表中也有一些具有外国域的用户。由于这些地址在我们的服务器上没有用户帐户,因此转发给他们的垃圾邮件永远不会通过 procmailrc,我们最终将已经标记为垃圾邮件的垃圾邮件转发到其他服务器。有没有办法阻止已经标记为垃圾邮件的外发邮件?或者还有其他方法可以解决这个问题?

编辑:我只希望删除垃圾邮件和转发到其他服务器的邮件。我不想删除所有标记为垃圾邮件的邮件。有没有办法区分这两者?

答案1

您可以删除标题中带有特定标签的电子邮件。

Postfix 标头检查手册页了解详情。

例子:

在“/etc/postfix/main.cf”中,添加

header_checks = regexp:/etc/postfix/header_checks

在“/etc/postfix/header_checks”中

/^(主题:\[SPAM\])(.+)$/ 丢弃

上述操作将丢弃所有主题以“[SPAM]”开头的电子邮件。

编辑:我只希望删除垃圾邮件和转发到其他服务器的邮件。我不想删除所有标记为垃圾邮件的邮件。有没有办法区分这两者?

这可以通过在 Postfix 中运行两个实例来实现。第一个实例将把电子邮件转发到第二个实例(而不是远程电子邮件服务器)。通过指定本地传输也可以实现相同的目的。

第二个实例将具有上述 header_checks。这样,只有发送到远程服务器的电子邮件才会被删除。

一些参考资料:

  1. 指定传输
  2. 您可以通过在 master.cf 文件中指定其他条目来运行 Postfix 的多个实例。详细信息这里

相关内容