我收到以下錯誤訊息/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 的電子郵件/從電子郵件備份中恢復