IMAP 迁移和文件夹结构更改

IMAP migration and changes to folder structure

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

我似乎无法做到这一点。对执行此操作的替代方法有什么建议吗?

你在用这个吗? 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');

然后重新编译。

您也可以使用 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