Dovecot 错误:从 courier 迁移后“消息顺序意外更改”

Dovecot 错误:从 courier 迁移后“消息顺序意外更改”

我一直在设置新的邮件服务器,并将我们客户的旧邮件复制到该服务器。旧服务器有 Courier(在 Plesk 下),我们在新服务器上使用 Dovecot。

大多数帐户似乎运行良好(在 IMAP 或 POP3 下),但对于少数帐户,我们在 中得到了以下信息/var/log/mail.err

Error: Message ordering changed unexpectedly (msg #1: storage seq 140 -> 1)
Fatal: Can't finish POP3 UIDL command

受影响的帐户无法收发电子邮件。如果人们切换到 IMAP,一切就都正常了,但对于我们的一些客户来说,这很困难,所以我们确实需要 POP3 正常工作。

我使用了给出的 Perl 脚本这里转换邮箱。

我尝试搜索这些错误,但得到的只是对 Dovecot 源代码的引用,而我对 POP3、UIDL 或 Dovecot 了解不够,因此无法提供帮助。

在此先感谢您的帮助。

答案1

迁移过程中出现问题,uidl列表未正确迁移,并且 dovecot 不想重新排序列表,uidl因为这会导致邮件客户端将所有消息视为新消息并重新下载它们。

可能有一些脚本选项可以解决这个问题,但快速而粗糙的解决方案是删除dovecot-uidlist并让 dovecot 重建它,这将使客户端重新下载所有邮件,但之后将uidlist有效,他们只会下载新邮件。最后,重复的邮件很烦人,无法接收新邮件是一个更大的问题。

相关内容