我正在尝试将客户的托管从一个非常糟糕的主机迁移到一个新的主机。
当前主机没有提供控制面板(他们有点控制狂,您必须提交票证才能做任何事情)所以我无法从控制面板备份邮件。
我需要一种方法来从邮箱中获取邮件并将其传输到新主机上。
据我所知,他们的服务器上只提供 pop3,所以我无法使用 imapsync。
新主机是带有 cpanel 的 vps,我可以在其上安装任何有帮助的东西。
有什么方法可以自动将数据从旧主机转移到新主机吗?
难道我完了?
答案1
如果您使用 Unix/Linux 解决方案(如 Postfix/Dovecot),您可以使用 fetchmail 或类似程序从旧服务器获取邮件并将其注入新服务器上的本地邮件系统。
您所需要的只是旧服务器上 POP 帐户的用户名/密码列表。
答案2
SvenW 的回答非常有帮助,谢谢!
对于那些感兴趣的人,这里是要运行的命令的详细信息。
笔记:
我在新服务器上以 root 身份运行它
fetchmailrc 文件是不是必要的,可以用一个命令完成(因为一旦关闭就很好了)
密码不会在命令行上传递,因此第一步是在主文件夹中使用以下语法创建 .netrc:
机器服务器.com
登录[电子邮件保护]
密码 密码
如果需要多个,只需继续在 netrc 文件中添加它们。
运行此命令
fetchmail -v -a -k -p APOP -S localhost --smtpname[电子邮件保护]-u[电子邮件保护]服务器
-v使其更加详细、有用
-A抓取所有内容(包括已读电子邮件)
-k将邮件保留在旧服务器上(由您决定,可能适合测试)
-p要使用的协议。APOP 对我来说是有效的,但请查看 fetchmail 文档
-S(大写 S)目标服务器(因为我已经在机器上了,所以是 localhost)
--smtp名称本地收件人(应与源服务器为同一邮箱)
-u连接到远程服务器的用户名(某些服务器使用[电子邮件保护],有些只是电子邮件,或者有时是其他东西)
最后服务器是远程(旧)服务器的地址
为了测试,您还可以添加-C参数,检查但不检索。检查设置是否正确的好方法
答案3
pop2imap 旨在将消息从 pop3 服务器逐步传输到 imap 服务器。用法与 imapsync 相同。
http://www.linux-france.org/prj/pop2imap/
pop2imap \
--host1 pop3.troc.org --user1 foo --password1 secret1 \
--host2 imap.trac.org --user2 bar --password2 secret2