0

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

一些同事的每封电子邮件都包含内嵌的“signature.gif”或“signature-nn.gif”(其中 nn 似乎会增加,直到他们的电子邮件客户端重新启动)。需要识别带有(有意义的)附件的邮件受到所有电子邮件都带有(无意义的)附件这一事实的阻碍。

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

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

如何使用 Exim + Procmail (或同等产品?)

4

1 回答 1

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) 手册页有一个如何将内容保存在外部文件中的示例。

于 2011-08-06T22:39:20.720 回答