有没有办法使用 imapsync 将旧服务器上的每封邮件同步到新服务器上的一个文件夹中?我在手册中找不到相关内容……
提前致谢!
答案1
常见问题解答http://imapsync.lamiral.info/FAQ说:
问:是否可以将所有消息从一台服务器同步到另一台服务器,而无需重新创建文件夹结构和目标服务器。
是的。
例如,将 host1 上所有 forder 中的所有消息同步到 host2 上的文件夹 INBOX:
1)第一次尝试(安全模式):
imapsync \
...
--regextrans2 "s/(.*)/INBOX/" \
--dry --justfolders
2) 查看输出是否说明了您希望 imapsync 执行的所有操作,--dry 选项是安全的并且不执行任何实际操作。
3)删除--dry检查目标端的imap文件夹树,您应该只有一个:经典的INBOX。
4)删除--justfolders
答案2
有一种方法可以同步每封邮件,包括来自旧服务器根目录下的一个文件夹中新服务器使用 imapsync。
imapsync --host1 mail.fromhost1.com --user1 myuser1 --passfile1 passfile1.txt --host2 mail.tohost2.com --user2 myuser2 --passfile2 passfile2.txt --subfolder2 INBOX.destinationfolder --justfolders --dry
选项 --subfolder2 “将整个 host1 文件夹层次结构同步到
名为字符串“(imapsync 自述文件1)。
当使用 --dry 选项运行 imapsync 时,您应该能够从 imapsync 的输出中看到两个邮箱的文件夹列表,这样您就知道应该把什么内容放到 INBOX.destinationfolder 中去了。
正如@Gilles LAMIRAL所说:
- 尝试使用 imapsync 运行- 干燥和--justfolders选项,直到你对输出满意为止
- 然后删除- 干燥选项。它应该从旧服务器在目标文件夹下新服务器指定--子文件夹2选项
- 如果一切按预期进行,删除--justfolders将所有邮件复制到新服务器中相应的文件夹/子文件夹中的选项。
答案3
是的,您可以使用 imapsync 将邮箱从一个邮件服务器迁移到另一个服务器。我们必须告诉 imapsync 我们要迁移的邮件帐户的用户名和密码。理论上,我们可以使用 --password1 和 --password2 开关来设置密码,但这很危险
因此,最好创建两个包含密码(在此示例中,它是两个邮件帐户的秘密)的文件(此示例中为 /etc/secret1 和 /etc/secret2),在这些文件上执行 chmod 600,并使用 --passfile1 和 --passfile2 开关。
下面是示例命令
imapsync --host1 server1.example.com --user1 [email protected] --passfile1 /etc/secret2 --host2 server2.example.com --user2 [email protected] --passfile2 /etc/secret2