我正在尝试将数百个电子邮件帐户从运行 sendmail 8.13.6/dovecot 0.99.14(mbox 格式)的旧服务器迁移到运行 postfix 2.6.6/dovecot 2.0.9(maildir 格式)的新服务器。
我尝试使用 dsync 迁移几个邮箱,也尝试使用 imapsync,但在这两种情况下,消息 UIDL 都会被更改,这显然会导致 pop 桌面客户端重新下载其 pop 收件箱中的所有消息,而这反过来会导致我的用户打来很多愤怒的电话并发来很多电子邮件。
奇怪的是,在旧的 dovecot 0.99.14 中,显然使用了不同的 UIDL 格式:例如,旧格式的 UIDL:两个连续的消息为 1391619175.6 和 1391619175.7。导入时分配给这两条消息的新格式 UIDL:0000000152f30760 和 0000000252f30760,使用 dovecot.conf 中定义的格式 %08Xu%08Xv
而且我没有在 0.9 版本的 dovdcot.conf 文件中看到指示这是什么格式的选项,所以我不确定如何配置新安装来模仿这种格式。
如能提供任何有关保存旧 UIDL 的好方法的见解,我们将不胜感激。
答案1
看一眼POP3 迁移在 dovecots wiki 中。
您可以:
让 dovecot 根据 maildir 文件名使用 UIDL:pop3_uidl_format = %f
或者
让 dovecot 根据X-UIDL:
header 使用 UIDL :pop3_reuse_xuidl=yes
我建议基于文件名的方式。
答案2
可以使用目标主机上与源主机上相同的“pop3_uidl_format”选项来解决从一个版本到另一个版本的uidl更改。
根据
http://wiki1.dovecot.org/POP3Server
尝试一下...
另外,如果我在您的网站上,我会查看 dovecotadm copy 以查看它是否提供更好的结果(就性能而言),但您必须从目标系统中使用它,因为它可能不是 0.99 的一部分。
您可能必须将旧服务器的 FS 安装到新服务器上,但是一旦完成,您可以使用类似以下命令:
doveadm import -u [email protected] maildir:/var/mailmeo/middle.earth/f/frodo/MailDir . ALL