我将从当前的网络托管提供商转移到另一个提供商。我已经完全移动了整个网站,但我面临的问题是如何移动邮件。两台托管服务器都是 UNIX 服务器,所以我的问题是“是否有任何机制或命令可以在我们移动文件时移动邮件?
提前致谢...
答案1
如果您正在使用IMAP,有一种东西叫做IMAP同步它将帮助您完成迁移。如果您使用的是 CentOS 或 RHEL 7,您可以从以下地址下载埃佩尔通过执行以下命令来存储库:
$ yum -y install epel-release && yum -y install imapsync
笔记:如果您使用 Debian 或 FreeBSD,请查看此安装帮助。
使用它并不难,它非常清晰,您可以阅读它的手册页或网上冲浪以获取示例,或者轻松阅读其提供的文档官方网页。
要快速了解,请查看以下示例:
● 单一邮箱迁移
### OR WITH PASSWORD FILE ↴
$ imapsync\
--host1 server1.example.com --user1 [email protected] --passfile1 /path/to/secret/file\
--host2 server2.example.com --user2 [email protected] --passfile2 /path/to/secret/file
### OR WITH PLAIN-TEXT PASSWORD ↴
$ imapsync\
--host1 server1.example.com --user1 [email protected] --password1 PASSWORD\
--host2 server2.example.com --user2 [email protected] --password2 PASSWORD
上面的示例将通过密码文件或纯文本密码将电子邮件从 Host1 中的 User1 传输到 Host2 中的 User2。
● 大规模迁移
如果您正在处理大量用户,您可以创建一个名为文件.txt或任何保存用户和密码的:(分隔符为“;”)
user001_1;password001_1;user001_2;password001_2
user002_1;password002_1;user002_2;password002_2
user003_1;password003_1;user003_2;password003_2
user004_1;password004_1;user004_2;password004_2
user005_1;password005_1;user005_2;password005_2 ...
现在您可以通过 shell 脚本执行传输作业,包括以下行:
{ while IFS=';' read u1 p1 u2 p2; do
imapsync --host1 imap.side1.org --user1 "$u1" --password1 "$p1" \
--host2 imap.side2.org --user2 "$u2" --password2 "$p2" ...
done ; } < file.txt
有关迁移方法的更多信息,我建议您阅读GitHub 中的 IMAPSync或查看其官方网页。
注意:在使用旧提供商(我们的示例中为 Host1)期间发送和接收的电子邮件将包含旧地址(理应如此),因此,如果您的域名发生更改或电子邮件地址发生更改,您应该通知您的用户,以便他们不会感到困惑。