我的 IMAP 服务器 Maildir 中有很多重复邮件。删除它们的最佳方法是什么?
一些相关要点:
- 共享消息 ID 通常足以定义重复。只需编写一个小型脚本,删除所有重复消息(只保留一条)即可。
- 有时需要根据共享的消息主体查找重复项。这里共享的合理定义是什么?按位等效?换行、转义、字符编码方面的奇怪差异怎么办?
- 有时“重复”消息之间存在一些有意义的差异。查看“重复”消息集之间的差异的最佳方法是什么?差异?
答案1
我对上面提到的 Kevin 的脚本做了一些重大改进,他也非常友好地接受了我的请求。最终我们将其拆分成一个专门的项目,您可以在此处找到:
答案2
对于 Linux 中的通用文件,我使用 fdupes 实用程序来删除重复文件。我发现它也适用于 Maildir 消息。
答案3
我今天发现的最好的是 Kevin Deldycke 的maildir-重复数据删除。
- 它默认忽略
X-MIMETrack
标题并使用SHA224
摘要比较标题。 - 它会自动删除重复项而不要求确认;但是有一个试运行模式可以预览将删除哪些重复项。
我敢打赌有人可以用 Rick Sanders 的delIMAPdups.pl,他的一部分IMAP 工具。
答案4
Gnome 的 Evolution [图形邮件用户代理] 具有删除重复邮件的内置功能。如本文所述帮助页面,可以归结为:
- 选择可疑邮件(或所有邮件)
- 转至菜单消息,选择删除重复消息。
瞧。
PS Evolution 可以通过本地(MailDir、MH、Mbox)或 IMAP 访问您的消息。