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 的電子郵件/從電子郵件備份中恢復

相關內容