在更改服务器配置时,我不小心丢失了除文件夹中的电子邮件之外的所有电子邮件。inbox
我仍然可以在文件中看到邮件服务器的完整历史记录mbox
,但我似乎无法弄清楚如何将所有这些电子邮件检索到 IMAP 服务器中。
我已经阅读了mbox
规范,似乎没有任何机制表明电子邮件已被 IMAP 服务器移动到文件夹。我删除了~/mail
目录,重命名了mbox
文件,每次都重新启动,但 Dovecot 仍然以某种方式知道mbox
文件中的哪些消息已被移动,哪些没有。我仍然可以看到垃圾文件夹,并且它仍然包含已移动到那里的邮件。
如何让 Dovecot 忘记它存储的有关该mbox
文件的所有数据,并将其未排序地重新加载到inbox
文件夹中,就像服务器的新安装一样?
当邮件移动到文件夹时,它实际上会移动到与该文件夹对应的新 mbox 文件,并从原始 mbox 文件中删除。
尽管删除分为两步 - 首先将原始邮件标记
D
为\Deleted
,然后稍后将其从文件夹中删除。因此,您的 IMAP 客户端很可能只是隐藏了标记为删除的邮件。检查消息是否已
Status: D
(或Status: RD
是否已被阅读等)。如果是的话——它们就是“已删除”的消息;您通常可以从 IMAP 客户端取消删除它们(Thunderbird 和 Mutt 都有该功能),或者您可以D
手动删除该标志,但这也需要删除“dovecot.index*
”文件。mbox 文件是收件箱文件夹。假设 mbox 本身已经拥有您想要的数据(即消息上没有“删除”标记),您可以删除该文件(以及它旁边积累的
dovecot.index
各种其他文件),然后重新启动 IMAP 服务。dovecot.*