邮件附件killfile - 如何通过文件名将签名附件列入黑名单

时间:2011-06-16 02:12:45

标签: exim procmail exim4

如何最好地实现最小的服务器端邮件过滤系统,它可以完成一件事:按名称删除签名附件。

有些同事的每封电子邮件都包含内联嵌入式“signature.gif”或“signature-nn.gif”(其中nn似乎会递增,直到重新启动其电子邮件客户端)。由于所有电子邮件都有(无意义的)附件,因此需要识别带有(有意义的)附件的邮件。

理想情况下,我希望能够将新文件名添加到黑名单中,以便在邮件收据上轻松删除新的嵌入式图形。

Mailserver是Debian Linux上的Exim,因此服务器端邮件过滤器(如procmail)非常适合。客户端我们有各种邮件应用程序,因此客户端解决方案并不合适。

如何使用Exim + Procmail(或等效的?)

完成此操作

1 个答案:

答案 0 :(得分:1)

如果没有样本消息,这可能会有点推测,但这可能是这样的:

blacklist='signature|logo'  # maintaining in an external file left as an exercise

:0B
* $ ^Content-disposition: attachment; filename="$blacklist(-[0-9][0-9])?\.gif"
idiotbox

主要的是你需要正则表达式条件才能唯一匹配那些消息。希望这应该足以让你开始。这会尝试查看邮件正文中的MIME标题行 - 如果不存在,或者它看起来与我在这里(从内存中)略有不同,则需要调整正则表达式。

IIRC procmailex(5)手册页有一个如何将内容保存在外部文件中的示例。