我将 maildir 用户从旧的 courier imap 安装迁移到 docker alpine:latest 上的 dovecot。最初一切看起来都很好,但是,问题似乎已经悄然出现。由于缓存大小差异,某些消息将无法获取,日志最终如下所示:
- 读取错误(/mailmessage1) 缓存的邮件大小小于预期
- 邮箱物理尺寸错误
- 删除损坏的缓存记录时出错
- 读取错误(/mailmessage1) 缓存的邮件大小小于预期
不是很有帮助。基于此处的此条目: https ://xpufx.com/posts/dovecot_doveadm_failed_cache_message_size_error/
我认为两个服务配置之间不匹配,但我没有看到任何明显的东西,我应该将 zlib 设置为全局配置吗?
邮件目录中的邮件均未压缩。除了一些关于 mbox 的抱怨之外,谷歌上没有太多关于此的信息。
一直在断断续续地研究这个问题。
Maildir 文件名的大小作为文件名的一部分。根据这个评论:
从这个脚本: https ://github.com/dovecot/tools/blob/main/maildir-size-fix.pl
文件名中的大小可能是错误的。我验证了一些错误,并且正在考虑使用 maildir_broken_filename_sizes=yes 暂时修复此问题。如果我在使用此解决方案时遇到任何进一步的困难,我将编辑此答案。