如何将整个 mbox 文件重新加载到 Dovecot 中的收件箱文件夹中?

如何将整个 mbox 文件重新加载到 Dovecot 中的收件箱文件夹中?

我不小心丢失了所有电子邮件除了inbox更改服务器配置时文件夹中的邮件。我仍然可以在mbox文件中看到邮件服务器的整个历史记录,但我似乎无法弄清楚如何将所有这些邮件检索到 IMAP 服务器中。

我查阅了mbox规范,似乎没有任何机制可以表明电子邮件已被 IMAP 服务器移动到文件夹中。我删除了目录~/mail,重命名了mbox文件,每次都重新启动,但 Dovecot 仍然以某种方式知道mbox文件中的哪些消息已被移动,哪些没有。我仍然可以看到垃圾文件夹,它仍然有已移动到那里的消息。

我怎样才能让 Dovecot 忘记它存储的有关该mbox文件的所有数据,并将其整个未分类地重新加载到inbox文件夹中,就好像它是服务器的新安装一样?

答案1

我已经阅读了 mbox 规范,似乎没有任何机制可以表明电子邮件已被 IMAP 服务器移动到文件夹中。

当邮件被移至文件夹时,字面上地移动到与该文件夹对应的新 mbox 文件,并从原始 mbox 文件中删除。

虽然删除分为两步——首先将原始消息标记D\Deleted,然后一段时间之后它会从文件夹中删除。因此,您的 IMAP 客户端很可能只是隐藏了标记为删除的邮件。

检查邮件是否已删除Status: D(或Status: RD是否已读等)。如果已删除,则为“已删除”邮件;您通常可以从 IMAP 客户端中恢复这些邮件(Thunderbird 和 Mutt 均具有此功能)——或者您可以D手动删除该标记,但这也需要删除“ dovecot.index*”文件。

我怎样才能让 Dovecot 忘记它存储的有关此 mbox 文件的所有数据,并将其整个重新加载到收件箱文件夹中(未分类),就好像它是服务器的新安装一样?

mbox 文件收件箱文件夹。假设 mbox 本身已经有您想要的数据(即消息上没有“删除”标志),您可以删除该文件(以及它旁边积累的dovecot.index各种其他文件),然后重新启动 IMAP 服务。dovecot.*

相关内容