如何最好地实现最小的服务器端邮件过滤系统,它可以完成一件事:按名称删除签名附件。
有些同事的每封电子邮件都包含内联嵌入式“signature.gif”或“signature-nn.gif”(其中nn似乎会递增,直到重新启动其电子邮件客户端)。由于所有电子邮件都有(无意义的)附件,因此需要识别带有(有意义的)附件的邮件。
理想情况下,我希望能够将新文件名添加到黑名单中,以便在邮件收据上轻松删除新的嵌入式图形。
Mailserver是Debian Linux上的Exim,因此服务器端邮件过滤器(如procmail)非常适合。客户端我们有各种邮件应用程序,因此客户端解决方案并不合适。
如何使用Exim + Procmail(或等效的?)
完成此操作答案 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)手册页有一个如何将内容保存在外部文件中的示例。