Centos

imapsync 從文件夾到郵箱

  • February 24, 2019

我想知道是否可以在停用的 dovecot 安裝使用的備份 maildir 和 cyrus 中的實時電子郵件帳戶之間同步郵件,或者將郵件從備份傳輸到 cyrus。 下面是關於我們為什麼必須這樣做的敘述。

我們有一個帶有郵件的 cPanel 伺服器,我們正在遷移到我們將在內部維護的郵件伺服器。內部郵件伺服器由 Postfix+Cyrus+SOGo+LDAP(用於身份驗證)組成。cPanel 伺服器有 dovecot。我們計劃使用 imapsync 在伺服器之間傳輸郵件。

我已經在兩個伺服器上使用 2 個活動郵箱對此進行了測試,並且傳輸無縫進行。但是,問題是,我們已將 cPanel 伺服器上使用者的郵件文件夾複製到我們位於單獨位置的本地伺服器,並希望從這些文件夾傳輸/同步到郵箱。

檢查此連結在文件夾之間同步但同時將文件夾同步到 imap 郵箱時有所了解。

這是為使用者複製的文件夾的樣子(位於 /some/random/location/on/the/server/me):

drwx------ 2 tester tester  16384 Jul 14 09:51 cur
-rw-r----- 1 tester tester      0 May 27 12:55 dovecot-acl-list
-rw-r----- 1 tester tester   2908 Jul 14 09:50 dovecot.index
-rw-r----- 1 tester tester 196608 Jul 14 09:51 dovecot.index.cache
-rw-r----- 1 tester tester   8712 Jul 14 09:51 dovecot.index.log
-rw-r----- 1 tester tester     13 May 27 15:45 dovecot-keywords
-rw-r----- 1 tester tester   8358 Jul 14 09:50 dovecot-uidlist
-rw------- 1 tester tester      8 Jun 22 11:06 dovecot-uidvalidity
-rw------- 1 tester tester      0 May 27 12:55 dovecot-uidvalidity.51a30a63
-rw-r----- 1 tester tester   2762 Jul 14 01:11 maildirsize
drwx------ 2 tester tester   4096 Jul 14 09:50 new
-rw-r----- 1 tester tester     44 Jun 22 11:05 subscriptions
drwx------ 2 tester tester   4096 Jul 14 01:11 tmp

這是使用者的目標 imap 位置的樣子:

-rw------- 1 cyrus mail  781 Jul 14 10:29 1.
-rw------- 1 cyrus mail  752 Jul 14 10:33 cyrus.cache
-rw------- 1 cyrus mail  156 Jul 14 10:29 cyrus.header
-rw------- 1 cyrus mail  184 Jul 14 10:33 cyrus.index
drwx------ 2 cyrus mail 4096 Jul 14 10:32 Sent
drwx------ 2 cyrus mail 4096 Jul 14 10:29 spam

        where 1. is the mail received by this user.

要在郵箱之間同步,我使用了以下命令:

imapsync --host1 webmail.my1testserver.com --user1 me@my1testserver.com --password1 XXXXXX   --host2 localhost --user2 testuser --password2 XXXXXX

同步發生在我的線上郵箱和我的本地 imap 郵箱之間。現在,如何將伺服器上的文件夾同步到伺服器上的郵箱?

澄清一下,從 cPanel 獲取的備份是文件夾的形式,文件夾名稱是使用者名(電子郵件地址的第一部分)。這需要遷移/添加到實時 Cyrus 郵箱。

maildir_to_imap.pl可用於將 maildir 中的消息複製到 IMAP

郵箱。

Usage: maildir_to_imap.pl -i <users list> -D <imapHost[:port]> 

使用者列表中的每一行都必須包含一個指向使用者郵件目錄、他的 IMAP 使用者名和他的 IMAP 密碼的指針,這些值用逗號分隔。例如:

#  Format:  maildir,IMAP user,IMAP password

/mhub4/maildirs/jill.thomas@abc.net,jill.thomas,password
/mhub4/maildirs/jsampson@abc.net,jessi.sampson,secret

可選參數:

-L logfile  
-n <integer>  (The number of child processes to run, default is 1)
-d debug
-I log IMAP commands and responses

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