Featured image of post 使用 imapsync 轉移電郵到新伺服器

使用 imapsync 轉移電郵到新伺服器

imapsync 可以快速同步電郵到新伺服器,也可以建立自己的線上郵箱轉移平台,方便在任何地方訪問。

最後更新
約 960 字

前言

如果伺服器支援 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

給予執行權限:

1
chmod +x imapsync

安裝 imapsync

1
cp imapsync /usr/bin/

使用

1
2
3
imapsync \
  --host1 test1.zedo.dev --user1 test1 --password1 secret1 \
  --host2 test2.zedo.dev --user2 test2 --password2 secret2

可以在任何地方執行這個命令,只要能夠連接到這兩個伺服器即可。如果在來源或者目標伺服器上執行該命令,同步速度會比較快。


使用 Hugo 建立
主題 StackJimmy 設計