我收到了一种特别可怕的垃圾邮件,可以通过 From 标头中的纯文本名称轻松识别。
基本上格式是这样的:
From: "foo" <[email protected]>
我想编写一个 ACL 数据条件来检查是否foo
在 From 标头中。你会怎么做?
我相信它会进入DATA ACL部分。
我收到了一种特别可怕的垃圾邮件,可以通过 From 标头中的纯文本名称轻松识别。
基本上格式是这样的:
From: "foo" <[email protected]>
我想编写一个 ACL 数据条件来检查是否foo
在 From 标头中。你会怎么做?
我相信它会进入DATA ACL部分。
我认为 Jim U 的回答可能是实现我的目标的更好方法,但为了记录,这是我在 DATA ACL 中的做法:
这会导致
550 Blacklisted.
SMTP 客户端出错并立即关闭连接。根据标头字段有条件地丢弃邮件:
exim.conf
system_filter.conf
只有当 foo 出现在 From 标头的友好部分中时,第一个条件才会匹配。正则表达式不区分大小写。
最好在进行任何更改后测试过滤器文件。中的语法错误
system_filter.conf
将使传入的消息暂时无法传递。测试
垃圾邮件.eml
测试将告诉您消息是否会被传递、丢弃(“Seen Finish”),或者过滤器文件中是否存在错误(您会收到类似的消息,
Filter error: unknown filtering command "asldkf" near line 75 of filter file
)不是 ACL 解决方案,但对我来说很容易维护。当条件改变时,我只需要更新 system_filter.conf`。
我放置
system_filter
在 exim.conf 文件(主配置设置)的顶部。seen finish
是黑洞命令;它指示 exim 已完成对消息的处理。参考:Exim 过滤器文件