Linux 从存储器中的多封电子邮件中删除或删除文件

Linux 从存储器中的多封电子邮件中删除或删除文件,linux,email,attachment,qmail,Linux,Email,Attachment,Qmail,我为一个小型办公室管理一个Linux邮件服务器(qmail),员工们认为最好用4个徽标来签名,其中一个是2MB。直到邮递服务开始完成这项工作,才有人注意到 现在我发现自己收到了成千上万封包含这个标志的电子邮件 我想留下电子邮件和附件原封不动,删除这个标志或替换为一个更轻的标志 有没有办法通过LinuxBash从邮件中删除特定的附加文件 文件 这是邮件的一部分: Content-Type: image / gif;   name = "image008.gif" Content-Transfe

我为一个小型办公室管理一个Linux邮件服务器(qmail),员工们认为最好用4个徽标来签名,其中一个是2MB。直到邮递服务开始完成这项工作,才有人注意到

现在我发现自己收到了成千上万封包含这个标志的电子邮件

我想留下电子邮件和附件原封不动,删除这个标志或替换为一个更轻的标志

有没有办法通过LinuxBash从邮件中删除特定的附加文件

文件

这是邮件的一部分:

Content-Type: image / gif;
    name = "image008.gif"
Content-Transfer-Encoding: base64
Content-ID: <part5.A1202B56.2A25453C @ *****>
Content-Disposition: inline;
    filename = "image008.gif"

dsfkldslkfjdslkfjdklsfjdlskfjdlskfjdlsk
内容类型:图像/gif;
name=“image008.gif”
内容传输编码:base64
内容ID:
内容配置:内联;
filename=“image008.gif”
dsfkldslkfjdslkfjdklsfjdlskfjdlskfjdlsk
我只能删除所有邮件的此图像吗(我想我使用loop bash)

如果您需要其他信息,请写信


谢谢。

太难了,我为邮件服务器编写了太多脚本,实际上我认为无法做到这一点。通过链接grep找到包含
内容类型:multipart/mixed;boundary=…
,剪切以提取边界,csplit(或split)以将邮件拆分为不同的部分,再次grep以标识要删除的部分,然后cat以将所有内容重新压缩。困难的部分是bash对于异常条件的处理不是很好,如果必须这样做,我会使用Python
Content-Type: image / gif;
    name = "image008.gif"
Content-Transfer-Encoding: base64
Content-ID: <part5.A1202B56.2A25453C @ *****>
Content-Disposition: inline;
    filename = "image008.gif"

dsfkldslkfjdslkfjdklsfjdlskfjdlskfjdlsk