我想强制向我的服务器发送邮件的用户使用 BCC(我们收到很多由发送到 30 多个邮件列表的邮件创建的内部垃圾邮件,然后这些邮件都会回复所有人)。
我认为 spamassassin 可能是一个不错的起点,因为它已经用于垃圾邮件过滤。但是,我不确定如何执行此操作(或者 spamassassin 是否真的是执行此操作的正确地方)。我的想法是只制作一个 bccfilter.cf,它检查收件人+抄送收件人的数量,如果该数量大于某个数字(例如 10),则将邮件标记为垃圾邮件。执行此操作的最佳方法是什么?
我想到的唯一的事情是这样的:
header LOCAL_FORCE_BCC_TO To =~ /(.*?,){9,}/
header LOCAL_FORCE_BCC_CC Cc =~ /(.*?,){9,}/
meta LOCAL_FORCE_BCC (LOCAL_FORCE_BCC_TO || LOCAL_FORCE_BCC_CC)
score LOCAL_FORCE_BCC 15.0
它基本上会计算收件人和抄送信头中的逗号数量,如果其中一个大于 9(=10 个收件人),则将该邮件标记为垃圾邮件。但是我不太喜欢这种方法,觉得可以做得更好。此外,我想计算收件人总数(收件人+抄送),而不是单独计算。
有人知道怎么做吗?另外我想返回自定义错误消息,但那其实没多大关系。
答案1
我认为现在是研究 exim ACL 的好时机。您可以使用它们来将 cc: 重写为 bcc。
http://tldp.org/HOWTO/Spam-Filtering-for-MX/exim-smtpdelays.html