Dovecot:损坏的 Mbox 索引缓存文件

Dovecot:损坏的 Mbox 索引缓存文件

我收到以下错误消息/var/mail/mail.err

Jun 14 00:03:42 max dovecot: IMAP(bernhard): 
Corrupted index cache file /home/bernhard/Mail/.indexes/.imap/INBOX/dovecot.index.cache: 
Broken virtual size for mail UID 5618

恢复索引的首选方法是什么?

答案1

根据这个标题为:IMAP Dovecot 错误 - 索引缓存损坏 10.6.4听起来您只需要执行以下操作:

抄写员

回复:IMAP Dovecot 错误 - 索引缓存损坏 10.6.4

2010 年 11 月 30 日上午 11:10 (回复 Scribit)

我不确定这是否是最好的程序,并且可能会产生意想不到的后果,但这就是我为解决问题所做的。

我停止了邮件服务。

我从 shell 导航到报告问题的每个目录。

在这些目录中,我重命名了以下文件,并在它们前面加上“old”。

   dovecot.index
   dovecot.index.cache
   dovecot.index.log

例子:mv dovecot.index old.dovecot.index

然后我重新启动了邮件服务。这 3 个文件是在客户端访问时为每个 IMAP 文件夹重新创建的。

答案2

我发现恢复索引文件最简单的方法就是这样。

停止鸽舍

sudo systemctl stop dovecot

为任何受影响的用户重命名或删除整个 .imap 文件夹(我更喜欢删除,但谨慎的人可能会有不同的感觉)

sudo rm -R /home/bernhard/Mail/.indexes/.imap/

启动鸽舍

sudo systemctl start dovecot

当检查邮箱时,Dovecot 将简单地重新创建索引,就好像它是以前没有看到的新邮箱一样,不会错过任何一个节拍。

答案3

我遇到了同样的问题,删除dovecot.index不起作用,因为一些损坏的电子邮件文件再次损坏了 dovecot.index。

例子:

Error: Corrupted record in index cache file /home/user/mail/domain/username/.INBOX/dovecot.index.cache: UID 1227: Broken virtual size in mailbox INBOX: read(/home/user/mail/domain/username/.INBOX/cur/1600772501.M603394P22807.paxaa.host.com,S=9099624,W=9217854:2,S): FETCH BODY[] got too little data: 2846393 vs 9217854

最终帮助删除了损坏 dovecot.index 的电子邮件/从电子邮件备份中恢复

相关内容