Email

從舊的 postfix/dovecot 郵件伺服器遷移到新的郵件伺服器

  • February 27, 2022

簡而言之: 有人知道將 maildir 數據從一個鴿舍遷移到另一個鴿舍的分步指南嗎?

長篇大論: 我嘗試將我的郵件伺服器遷移到新機器上。

我首先嘗試簡單地 tar & rsync 我的單個 maildir 目錄,但所有子文件夾在 Thunderbird 中都顯示為灰色

所以我想我用 doveadm sync 再做一次,但現在我根本找不到明確的路徑如何用dovecot 手冊、google 或 serverfault 來做。

真的沒有簡單的分步指南來做到這一點嗎?還是太容易了,我不明白?對於像我這樣的郵件伺服器菜鳥,該手冊沒有包含足夠的解釋。

  1. doveadm同步/備份

我從doveadm backup -u me@domain.tld .... 它告訴我:

doveadm(root):錯誤:使用者不存在

doveadm user *@domain.tld準確地返回這個使用者。現在我偶然發現了以下幾點,所以我暫時不嘗試理解這個問題。 2. doveadm 導入

因為我已經將數據 tar & rsync 到我的新機器上,所以接下來我嘗試了這個。

我在沒有打開埠的情況下啟動了 docker 容器,因此 dovecot 正在執行,但沒有一個可以連接到 postfix 或 dovecot。

我連接到容器的控制台並嘗試doveadm導入。獲得許可被拒絕的問題。嘗試將權限設置為 777。doveadm導入完成但沒有告訴我任何問題,但使用者的目錄仍然是空的(只是標准文件夾沒有郵件)

我沒有成功找到一個好的 dovecot<->dovecot 複製指南的原因是有一種簡單且更通用的 imap<->imap 方法。(例如ImapSync感謝 Sven 對我的問題的評論)。

ImapSync:我是這樣做的。

  1. 從 github 下載程式碼並建構它
  2. 用它

建構的必要依賴項

apt-get install makepasswd rcs perl-doc libio-tee-perl git libmail-imapclient-perl libdigest-md5-file-perl libterm-readkey-perl libfile-copy-recursive-perl build-essential make automake libunicode-string-perl libauthen-ntlm-perl libcrypt-ssleay-perl libdigest-hmac-perl libfile-copy-recursive-perl libio-compress-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-tee-perl libmodule-scandeps-perl libnet-ssleay-perl libpar-packer-perl libreadonly-perl libterm-readkey-perl libtest-pod-perl libtest-simple-perl libunicode-string-perl liburi-perl cpanminus

CPAN 模組(CPAN = 綜合 Perl 歸檔網路)

cpanm JSON::WebToken Test::MockObject Unicode::String Data::Uniqid

然後從 github 獲取 imapsync 程式碼並使用make install

完成後,使用它就像

imapsync \
   --host1 test1.lamiral.info --user1 test1 --password1 secret1 \
   --host2 test2.lamiral.info --user2 test2 --password2 secret2

更多細節在這裡

引用自:https://serverfault.com/questions/905225