![Dovecot:损坏的 Mbox 索引缓存文件](https://linux22.com/image/38187/Dovecot%EF%BC%9A%E6%8D%9F%E5%9D%8F%E7%9A%84%20Mbox%20%E7%B4%A2%E5%BC%95%E7%BC%93%E5%AD%98%E6%96%87%E4%BB%B6.png)
我收到以下错误消息/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 的电子邮件/从电子邮件备份中恢复