将旧的mbox格式迁移到保存UIDL值的maildir

我试图从运行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