(忍受我,电子邮件设置的整个想法对我来说是新的)
我有一个配置了 postfix、dovecot 和 roundcube 的服务器,一切都设置正确。
在旧服务器上(也使用后缀),所有邮件都在一个文件中,我尝试将它们迁移到新服务器(即复制文件到 /var/spool/mail/$user 和 /var/ 的新路径邮件/$用户)。
如果我从终端使用命令mail
,我可以看到新服务器上的邮件。
但是当我尝试从圆形立方体访问时,我得到“邮箱为空”
我可以在文件夹 /home/$user/mail/.Sent/cur/.... 中看到我发送的邮件
但是每封邮件都是一个文件
有什么我遗漏的吗,dovecot的问题是因为它使用了另一种邮件结构吗?
首先,让我为您澄清一些基础知识。
cur
和其他文件夹与此格式相关。如果我猜对了,您在旧服务器上有一个设置,告诉 Dovecot 使用邮箱格式并从 读取邮箱
/var/spool/mail/$user
,在新服务器中,Dovecot 配置为使用 Maildir 格式并将它们存储在/home/$user/mail
. 这可以在 Dovecot 配置文件中进行配置,但我建议你不要碰它,因为 Maildir 更好,而且 Dovecot 对它有很好的支持。您所要做的就是
mb2md
在新机器上安装一个实用程序,将所有邮箱转换为 maildir 格式(在此之前,请仔细阅读其手册)并将生成的 maildirs 传输到适当的位置。我还建议您检查 Dovecot 配置文件当前的配置方式,以及在需要时如何更改 maildir 的位置。
一种选择是使用
imapsync
实用程序将电子邮件从旧服务器移动到新服务器。这样您就不需要执行风险不大的数据转换。