Dovecot 索引缓存文件中的损坏记录

Dovecot 索引缓存文件中的损坏记录

从今天起,我在 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

相关内容