我试图从运行sendmail 8.13.6 / dovecot 0.99.14(mbox格式)的旧服务器将数百个电子邮件帐户迁移到运行postfix 2.6.6 / dovecot 2.0.9(maildir格式)的新服务器。
我尝试用dsync迁移几个邮箱,并尝试使用imapsync,但是在这两种情况下,邮件UIDL都正在更改,这显然会导致stream行的桌面客户端重新下载他们的pop收件箱中的所有邮件,这反过来会产生很多愤怒的电话和来自我的用户的电子邮件。
奇怪的是,在旧的dovecot 0.99.14中显然使用了不同的UIDL格式:例如旧格式的UIDL:两个连续消息的1391619175.6和1391619175.7。 导入时分配给这两个消息的新格式UIDL:使用dovecot.conf中定义的格式%08Xu%08Xv的0000000152f30760和0000000252f30760
而且我在0.9版的dovdcot.conf文件中没有看到一个选项来指示这是什么格式,所以我不知道如何configuration新的安装来模仿这种格式。
任何深入了解保存旧的UIDL的好方法将不胜感激。
看看dovecots wiki上的POP3迁移 。
你可以:
使dovecot使用基于maildir文件名的UIDL: pop3_uidl_format = %f
要么
使dovecot使用基于X-UIDL: header: pop3_reuse_xuidl=yes
我build议基于文件名的方式。
可以使用目标主机上的相同“pop3_uidl_format”选项来解决从一个版本到另一个版本的uidl更改问题。
老默认似乎是%v。%u,据
http://wiki1.dovecot.org/POP3Server
尝试一下…
另外,如果我在你的网站,我会看看鸽舍的副本,看看它是否会给出更好的结果(就性能而言),但是你将不得不从目标系统中使用它,因为它可能不是0.99的一部分。
你可能不得不将旧服务器的FS挂载到新服务器上,但是一旦完成,你可以使用如下的东西:
doveadm import -u [email protected] maildir:/var/mailmeo/middle.earth/f/frodo/MailDir . ALL