IMAP迁移和文件夹结构的更改

时间:2015-06-16 22:15:49

标签: email imap dovecot

我在ubuntu 14.04服务器和telnet上使用imapcopy来迁移和分别编辑重的imap收件箱帐户。我想展平文件夹结构,这意味着我想选择并将所有子文件夹中的所有电子邮件复制到一个“导入”文件夹中。

我似乎无法做到这一点。有关替代方法的任何建议吗?

2 个答案:

答案 0 :(得分:0)

你正在使用它吗? https://launchpad.net/ubuntu/+source/imapcopy/1.04-1。如果是,请编辑imaptools.pas并更改以下行,如图所示将所有邮件复制到目标上的IMPORT文件夹。

原件:

Result := Command ('APPEND '+Mailbox + Flags + ' {' + IntToStr (Length(Msg)) + '}',TRUE);

新:

Result := Command ('APPEND IMPORT' + Flags + ' {' + IntToStr (Length(Msg)) + '}',TRUE);

如果IMPORT文件夹尚不存在,您需要创建它。

Err := Dst.CreateMailbox ('IMPORT');

然后重新编译它。

答案 1 :(得分:0)

您也可以使用https://github.com/Schluggi/pymap-copy。我认为这更帅,因为您无需编译任何东西。

如果您如上所述需要(将每个子文件夹的每个邮件复制到导入文件夹):

./pymap-copy.py \
--source-user=user1 \
--source-server=server1.example.org \
--source-pass=2345678 \
--destination-user=user2 \
--destination-server=server2.example.info \
--destination-pass=abcdef \
--redirect *:INBOX.import

在这种情况下,您想维护文件夹结构:

./pymap-copy.py \
--source-user=user1 \
--source-server=server1.example.org \
--source-pass=2345678 \
--destination-user=user2 \
--destination-server=server2.example.info \
--destination-pass=abcdef \
--destination-root INBOX.import