从 Maildir 中删除重复邮件

从 Maildir 中删除重复邮件

我的 IMAP 服务器 Maildir 中有很多重复邮件。删除它们的最佳方法是什么?

一些相关要点:

  • 共享消息 ID 通常足以定义重复。只需编写一个小型脚本,删除所有重复消息(只保留一条)即可。
  • 有时需要根据共享的消息主体查找重复项。这里共享的合理定义是什么?按位等效?换行、转义、字符编码方面的奇怪差异怎么办?
  • 有时“重复”消息之间存在一些有意义的差异。查看“重复”消息集之间的差异的最佳方法是什么?差异?

答案1

我对上面提到的 Kevin 的脚本做了一些重大改进,他也非常友好地接受了我的请求。最终我们将其拆分成一个专门的项目,您可以在此处找到:

https://github.com/kdeldycke/maildir-deduplicate

答案2

对于 Linux 中的通用文件,我使用 fdupes 实用程序来删除重复文件。我发现它也适用于 Maildir 消息。

答案3

我今天发现的最好的是 Kevin Deldycke 的maildir-重复数据删除

  • 它默认忽略X-MIMETrack标题并使用SHA224摘要比较标题。
  • 它会自动删除重复项而不要求确认;但是有一个试运行模式可以预览将删除哪些重复项。

我敢打赌有人可以用 Rick Sanders 的delIMAPdups.pl,他的一部分IMAP 工具

答案4

Gnome 的 Evolution [图形邮件用户代理] 具有删除重复邮件的内置功能。如本文所述帮助页面,可以归结为:

  1. 选择可疑邮件(或所有邮件)
  2. 转至菜单消息,选择删除重复消息

瞧。

PS Evolution 可以通过本地(MailDir、MH、Mbox)或 IMAP 访问您的消息。

相关内容