我想知道是否可以在已退役的 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 [email protected] --password1 XXXXXX --host2 localhost --user2 testuser --password2 XXXXXX
同步发生在我的在线邮箱和我的本地 imap 邮箱之间。现在,我该如何将服务器上的文件夹同步到服务器上的邮箱?
需要澄清的是,从 cPanel 获取的备份是文件夹形式,文件夹名称是用户名(电子邮件地址的第一部分)。这需要迁移/添加到实时 Cyrus 邮箱。
答案1
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/[email protected],jill.thomas,password
/mhub4/maildirs/[email protected],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
答案2
imapsync 不会从 Maildir 同步到 IMAP,只会从 IMAP 同步到 IMAP 服务器。
要将 Maildir 转换为 IMAP,请查看http://www.athensfbc.com/imap_tools/
答案3
由于这个问题在 2019 年仍然出现在我的搜索中,因此我给出了两个在本地 Maildir 存储库和 IMAP 服务器之间同步的项目链接:
另外,作者去世后,imap-tools
可以在这里找到镜子:https://github.com/andrewnimmo/rick-sanders-imap-tools. 并且imapsync仍然不支持Maildir。