前言
如果伺服器支援 IMAP 協議,那就可以使用 imapsync
來轉移電郵。該軟件可以從一個 IMAP 伺服器同步電郵到另一個 IMAP 伺服器,並且可以選擇同步哪些郵件夾。
可以做到同步,備份及轉移電郵到新的伺服器,也可以一句指令建立自己的線上郵箱轉移平台,方便同事或者朋友使用。
imapsync
的用法非常簡單,只需要指定來源和目標伺服器,以及使用者名稱和密碼即可。但由於安裝依賴的軟件比較多,所以安裝過程比較繁瑣。
當然,也可以使用 Docker 快速部署,如果打算使用 Docker 的話,可以跳過安裝步驟,直接跳到使用 Docker 快速部署。
imapsync
的官方網站 imapsync 有提供免費的 線上轉移 服務,可以轉移 3GB 以下的郵箱,如果怕有資安問題,也可以自己安裝來使用。
使用 Docker 快速部署
imapsync
的 Docker 鏡像提供了線上轉移的功能,可以快速在自己電腦上建立一個類似於官方的線上轉移平台。也可以本機使用,無須要安裝任何依賴的軟件,只要有 Docker 就可以使用。
快速使用
如果不想安裝,可以利用 Docker 來快速使用。
我們假設以下情況:
來源伺服器是 test1.zedo.dev
使用者是 test1
,密碼是 secret1
目標伺服器是 test2.zedo.dev
使用者是 test2
,密碼是 secret2
則可以使用以下命令:
1
2
3
| docker run --rm gilleslamiral/imapsync imapsync \
--host1 test1.zedo.dev --user1 test1 --password1 'secret1' \
--host2 test2.zedo.dev --user2 test2 --password2 'secret2'
|
如果不想使用 Docker,可以繼續往下看安裝步驟。使用方法完全相同,和要傳入的參數完全相同,只是安裝步驟不同。
建立自己的線上郵箱轉移平台
imapsync
的 Docker 鏡像提供了線上轉移的功能,可以快速在自己電腦上建立一個類似於官方的線上轉移平台。
只需要執行以下命令:
1
| docker run -p 80:8080 -p443:8443 gilleslamiral/imapsync /servimapsync
|
然後訪問 http://localhost
就可以看到轉移界面。
線上轉移的頁面可以設定來源和目標伺服器,也可以設定同步哪些郵件夾。無須使用任何指令,只要在頁面填寫相關資訊,就可以快速轉移電郵。
配合 Nginx Proxy Manager 就可以快速建立一個線上郵箱轉移平台,方便在任何地方訪問。
安裝
以 Ubuntu 為例,使用 apt 安裝依賴的軟件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| sudo apt-get install \
libauthen-ntlm-perl \
libclass-load-perl \
libcrypt-openssl-rsa-perl \
libcrypt-ssleay-perl \
libdata-uniqid-perl \
libdigest-hmac-perl \
libdist-checkconflicts-perl \
libencode-imaputf7-perl \
libfile-copy-recursive-perl \
libfile-tail-perl \
libio-compress-perl \
libio-socket-inet6-perl \
libio-socket-ssl-perl \
libio-tee-perl \
libjson-webtoken-perl \
libmail-imapclient-perl \
libmodule-scandeps-perl \
libnet-dbus-perl \
libnet-ssleay-perl \
libpar-packer-perl \
libproc-processtable-perl \
libreadonly-perl \
libregexp-common-perl \
libsys-meminfo-perl \
libterm-readkey-perl \
libtest-fatal-perl \
libtest-mock-guard-perl \
libtest-mockobject-perl \
libtest-pod-perl \
libtest-requires-perl \
libtest-simple-perl \
libunicode-string-perl \
liburi-perl \
libtest-nowarnings-perl \
libtest-deep-perl \
libtest-warn-perl \
make \
time \
cpanminus
|
下載 imapsync
:
1
| wget -N https://raw.githubusercontent.com/imapsync/imapsync/master/imapsync
|
給予執行權限:
安裝 imapsync
:
使用
1
2
3
| imapsync \
--host1 test1.zedo.dev --user1 test1 --password1 secret1 \
--host2 test2.zedo.dev --user2 test2 --password2 secret2
|
可以在任何地方執行這個命令,只要能夠連接到這兩個伺服器即可。如果在來源或者目標伺服器上執行該命令,同步速度會比較快。