从今天起,我在 dovecot 日志中收到以下错误:
Jun 23 19:44:04 home dovecot: imap(s2)<3314><ngfv/yDi3vHAqAEB>: Error: Corrupted record in index cache file /home/s2/Maildir/.Trash/dovecot.index.cache: UID 456: Broken physical size in mailbox Trash: read(/home/s2/Maildir/.Trash/cur/1655992443.M410376P31691.home,S=2673,W=2728:2,S) failed: Cached message size smaller than expected (2673 < 8192, box=Trash, UID=456)
Jun 23 19:44:04 home dovecot: imap(s2)<3314><ngfv/yDi3vHAqAEB>: Error: Mailbox Trash: UID=456: read(/home/s2/Maildir/.Trash/cur/1655992443.M410376P31691.home,S=2673,W=2728:2,S) failed: Cached message size smaller than expected (2673 < 8192, box=Trash, UID=456)
Jun 23 19:44:04 home dovecot: imap(s2)<3314><ngfv/yDi3vHAqAEB>: FETCH failed: Internal error occurred. Refer to server log for more information. [2022-06-23 19:44:04] in=303 out=1816 deleted=0 expunged=0 trashed=0 hdr_count=0 hdr_bytes=0 body_count=0 body_bytes=0
我删掉了
dovecot.index.log
dovecot.index
dovecot.index.cache
并重新启动了 Dovecot,但错误仍然存在。
事实上,该文件/home/s2/Maildir/.Trash/dovecot.index.cache
根本不存在,也不在磁盘上,但 dovecot 却说Error: Corrupted record in index cache file /home/s2/Maildir/.Trash/dovecot.index.cache
。一个不存在的文件中怎么会有损坏的记录呢?
我迷路了。有什么帮助吗?
$ dovecot --version
2.3.7.2 (3c910f64b)
答案1
修复它非常简单:
- 停止后缀
- 删除文件夹账户中的 dovecot.* 文件
- 启动 postfix