将电子邮件从旧服务器迁移到新服务器

将电子邮件从旧服务器迁移到新服务器

(请耐心听我说,电子邮件设置的整个概念对我来说很新)

我有一个配置了 postfix、dovecot 和 roundcube 的服务器,一切都设置正确。

在旧服务器(也使用 postfix)上,所有邮件都在一个文件中,我尝试将它们迁移到新服务器(即将文件复制到 /var/spool/mail/$user 和 /var/mail/$user 的新路径)。

如果我从终端使用命令,mail我就可以看到新服务器上的邮件。

但是当我尝试从 roundcube 访问时,我收到“邮箱是空的”

我可以在文件夹 /home/$user/mail/.Sent/cur/.... 中看到我已发送的邮件。

但每封邮件都是一个单独的文件

我是否遗漏了什么?是不是因为 dovecot 使用了另一种邮件结构,所以才出现了这个问题?

答案1

首先,让我为您澄清一些基本知识。

  • 邮箱格式是旧服务器上的格式。它实际上是一个文件中的多封邮件
  • Maildir 格式是您在主目录中看到的格式。这些cur文件夹和其他文件夹与此格式相关。

如果我猜得没错,您在旧服务器上有一个设置,告诉 Dovecot 使用邮箱格式并从 读取邮箱/var/spool/mail/$user,在新服务器中,Dovecot 配置为使用 Maildir 格式并将它们存储在/home/$user/mail。这可以在 Dovecot 配置文件中配置,但我建议您不要动它,因为 Maildir 更好,而且 Dovecot 对它的支持非常好。

您所要做的就是mb2md在新机器上安装一个实用程序,将所有邮箱转换为 maildir 格式(在此之前,请仔细阅读其手册)并将生成的 maildir 传输到适当的位置。

我还建议您检查 Dovecot 配置文件,了解它当前的配置方式,以及在需要时如何更改 maildir 的位置。

答案2

一个选择是使用imapsync实用程序将电子邮件从旧服务器移动到新服务器。这样您就不需要执行稍微有风险的数据转换。

相关内容