![Dovecot 错误:从 courier 迁移后“消息顺序意外更改”](https://linux22.com/image/611096/Dovecot%20%E9%94%99%E8%AF%AF%EF%BC%9A%E4%BB%8E%20courier%20%E8%BF%81%E7%A7%BB%E5%90%8E%E2%80%9C%E6%B6%88%E6%81%AF%E9%A1%BA%E5%BA%8F%E6%84%8F%E5%A4%96%E6%9B%B4%E6%94%B9%E2%80%9D.png)
我一直在设置新的邮件服务器,并将我们客户的旧邮件复制到该服务器。旧服务器有 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
有效,他们只会下载新邮件。最后,重复的邮件很烦人,无法接收新邮件是一个更大的问题。