如何使用Ubuntu 16.04 LTS上的Imapsync轻松迁移邮箱

・5 分钟阅读

使用不同的系统?

虽然迁移网站通常不是问题,但是,有时迁移电子邮箱更加困难。尤其是当两个服务器使用不同的软件时,幸运的是,为了简化这一步骤,有许多工具,包括我们今天将要讨论的Imapsync 。

Imapsync工具可以使用IMAP协议同步邮箱,这仅在你使用IMAP检索电子邮件时,或者如果你不使用POP协议从服务器上删除电子邮件时才有效。

要求

  • 一个sudo用户
  • Ubuntu 16.04服务器实例,

在Ubuntu服务器实例上安装任何软件包之前,建议你更新系统。


sudo apt-get update
sudo apt-get -y upgrade

安装

首先,你需要安装运行Imapsync所必需的:


sudo apt-get install 
 git 
 libauthen-ntlm-perl 
 libclass-load-perl 
 libcrypt-ssleay-perl 
 libdata-uniqid-perl 
 libdigest-hmac-perl 
 libdist-checkconflicts-perl 
 libfile-copy-recursive-perl 
 libio-compress-perl 
 libio-socket-inet6-perl 
 libio-socket-ssl-perl 
 libio-tee-perl 
 libmail-imapclient-perl 
 libmodule-scandeps-perl 
 libnet-ssleay-perl 
 libpar-packer-perl 
 libreadonly-perl 
 libsys-meminfo-perl 
 libterm-readkey-perl 
 libtest-fatal-perl 
 libtest-mock-guard-perl 
 libtest-pod-perl 
 libtest-requires-perl 
 libtest-simple-perl 
 libunicode-string-perl 
 liburi-perl 
 make 
 cpanminus 

可能需要使用cpanm更新IMAP和JSON客户端。


sudo cpanm Mail::IMAPClient
sudo cpanm JSON::WebToken

从官方Git存储库下载最新的Imapsync代码。


git clone https://github.com/imapsync/imapsync.git

导航到新克隆的库,并在系统上使用以下命令安装它。


cd imapsync
mkdir -p dist
sudo make install

你可以使用以下命令检查Imapsync的版本。

 
imapsync -v

 

同步电子邮件

下面显示了将电子邮件从server1同步到server2的语法。


imapsync --host1 server1.imap.tld --user1 mailbox@email.tld --password1 password1 --host2 server2.imap.tld --user2 mailbox@email.tld --password2 password2

密码

为了避免输入纯文本邮箱密码,可以将它们存储在文件中,并且使用--passfile1--passfile2参数自动加载密码。


imapsync --host1 server1.imap.tld --user1 mailbox@email.tld --passfile2 /home/user/pass1 --host2 server2.imap.tld --user2 mailbox@email.tld --passfile2 /home/user/pass2

IMAP服务器的连接

有几个选项可用于将Imapsync连接到邮件服务器,包括使用的连接类型,默认情况下,imapsync将尝试在端口993上使用SSL或TLS进行连接,下面是服务器上连接(将12替换为第二个服务器)的连接例子。

  • 通过端口143进行未加密连接的--nossl1 (不推荐)
  • --ssl1用于通过端口993加密与SSL的连接
  • --tls1通过端口993与TLS连接

还有定义身份验证类型的选项,这是使用--authmech1和--authmech2参数指定的,它可能的值如下(大写)。

  • PLAIN
  • LOGIN
  • CRAM-MD5

文件夹

文件夹同步可能会导致问题,特别是如果两个邮件服务器上的默认文件夹(\"Inbox \",\"Spam\" ,\"Archive \" ,\"Sent\")的名称不同,Imapsync为此提供了几个选项:

  • --automap使用自动默认文件夹识别,
  • --nomixfolders以避免根据大小写区分合并有相似名称的文件夹,
  • --prefix1从文件夹中删除要迁移的前缀,
  • --prefix2向已迁移的文件夹添加前缀,
  • --skipemptyfolders在目标服务器上不重新创建空文件夹,

迁移选项

为了加快电子邮件迁移速度,你可以使用--usecache参数临时存储安装Imapsync的服务器上的文件夹。

你还可以使用--delete1参数从第一台服务器中删除邮件。

最后,开始迁移之前,可以使用--dry参数检查命令的结果,而不会真正执行它。

Tianye profile image