IMAP允许您访问给定帐户的文件夹和所有电子邮件。
我们的主要电子邮件服务器有一个serverfault(双关语),所以我们必须将所有的电子邮件帐户转移到新的系统。 我使用共享主机,所以不能真正运行命令行。
是否有可能连接到所有帐户,批量通过IMAP获取邮件,然后使用IMAP与新的电子邮件服务器上传所有这些消息? 只要电子邮件帐户被创build
落叶松是imapsync的一种替代方法 ,就像游泳一样。 使用Ruby环境,安装非常简单:
gem install larch
要将数十个邮箱从一个服务器迁移到另一个服务器,可以创build如下所示的脚本:
#!/bin/bash # pullmail.sh function pullmail { larch \ --all \ --from imaps://source.example.com \ --from-pass "$2" \ --from-user "$1" \ --max-retries 20 \ --to imaps://dest.example.com \ --to-pass "$2" \ --to-user "$1" } PS4='\t+ ' set -x pullmail alice password1 pullmail bob password2 […and so on…]
然后你可以运行它: ./pullmail.sh 2>&1 >> pullmail-$(date +%Y%m%d%H%M).log & 完成后,您可以查看日志以解决任何可能在同步时遇到困难的电子邮件。 幸运的是,每个文件夹和每个帐户中的所有邮件都将从旧服务器复制到新服务器。
而且, Larch足够聪明,可以跟踪已经同步的邮件,所以重复同步重复同步直到您满意为止是安全的。
您将需要查阅文档以充分了解正在发生的事情。 如果遇到任何问题,还有一个支持论坛 。
有一个名为imapsync的工具,它将完成你所描述的工作。
我发现用PHP编写的IMAP迁移工具是一个更好,更易于使用的替代scheme。
而ImapSync应用程序必须支付$ 15。