v1.1,作者:Timo Sirainen,公共领域

v1.1,作者:Timo Sirainen,公共领域

我将 maildir 用户从旧的 courier imap 安装迁移到 docker alpine:latest 上的 dovecot。最初一切似乎都很好,但是,似乎出现了一个问题。由于缓存大小差异,某些消息将无法获取,日志最终看起来像这样:

  1. 错误读取(/mailmessage1)缓存邮件大小小于预期
  2. 错误 邮箱物理尺寸损坏
  3. 删除损坏的缓存记录时出错
  4. 错误读取(/mailmessage1)缓存邮件大小小于预期

没什么帮助。根据此处的条目: https://xpufx.com/posts/dovecot_doveadm_failed_cache_message_size_error/

我认为两个服务配置不匹配,但我没有看到任何明显的问题,我应该将 zlib 设为全局配置吗?

maildir 中的所有邮件均未压缩。除了一些有关 mbox 的投诉外,Google 上没有太多关于此内容的信息。

答案1

一直在断断续续地深入研究这个问题。

Maildir 文件名的大小是文件名的一部分。根据此评论:

v1.1,作者:Timo Sirainen,公共领域

一些由 .. courier? maildrop? 创建的 maildir 文件名具有文件大小

与文件的实际大小不匹配。此脚本会找到此类文件,并

重命名它们。如果从 dovecot-uidlist 中找到它们,它们也会被重命名

因此它们的 IMAP UID 也不会改变。POP3 UIDL

也可以选择保留。

从这个脚本: https://github.com/dovecot/tools/blob/main/maildir-size-fix.pl

文件名中的大小可能不正确。我确认有几个不正确,目前正在考虑使用 maildir_broken_filename_sizes=yes 来修复此问题。如果我在使用此解决方案时遇到任何进一步的困难,我会编辑此答案。

相关内容