传入消息在envelope-to
和to
标头中有多个地址。如果 ACL 中的某些条件匹配,我想丢弃所有原始收件人并将该消息发送到特殊的单个地址。如何做到这一点?
答案1
听起来你想要的是对发送到你的主机的所有电子邮件进行分类直接来自将动态范围内的 IP 视为垃圾邮件,并将这些消息提供给 SpamAssassin,以便它可以了解这些垃圾邮件的特征,以防它们来自“合法”服务器。
如果是这样的话你想做的事就可以实现没有对电子邮件标题进行正则表达式匹配以隔离发件人(计算成本高昂!),并且没有利用 DNS 黑名单重写电子邮件(同样计算量很大,增加了额外的步骤)。
- 根据适当的 DNS 阻止列表检查您的邮件
(Spamhaus PBL将有一个“dyn-ip 网络”列表,并且它几乎肯定比您手动维护的列表更准确且更省时。或者,您可以使用禅单还能捕获很多其他东西) - 如果邮件被列入黑名单:
- 将其提供给 SpamAssassin (
pipe sa-learn
) - 丢弃该消息(
fail
或finish
按照您的意愿)
- 将其提供给 SpamAssassin (
我不是 Exim 专家,但通过检查文档,可以使用以下方法组装整个链条:exim 过滤文件和查找dnsdb
(代替内置的黑名单支持)。
如果您想添加正则表达式匹配作为附加条件,您当然也可以这样做,但似乎不需要收件人重写。