IMAP展平文件夹结构

时间:2015-08-14 18:24:44

标签: imap directory flatten

有人知道如何在我的IMAP帐户中展平某个文件夹吗?实际上有数百个((子)子)子文件夹。这是一个非常古老的存档(从搜索是一个地狱和子文件夹是一个好主意,是的,大部分是在千禧年)我想要将所有消息添加到我的标准存档文件夹。在Google上找不到任何内容。我有权访问托管mailaccount的VPS。已安装Directadmin和Roundcube。它是标准的CentOS 7 Apache安装。有人知道任何脚本,工具,Thunderbird插件或其他什么吗?我精通php而不是python,但愿意在必要时调查它。

提前致谢!

2 个答案:

答案 0 :(得分:2)

试试这个:

./ copy_nested_msgs.pl

http://www.athensfbc.com/imap-tools/public/copy_nested_msgs.tar.gz

-m文件夹(要复制其子文件夹的父文件夹)
   -M文件夹(要复制邮件的目标文件夹)
   -S源服务器:端口/用户/密码
   -D destinaton服务器:端口/用户/密码
   -L logfile
   [-d]调试模式(可选)

您可以将邮件从源文件夹复制到同一服务器上的目标文件夹或另一台服务器上。

答案 1 :(得分:0)

非常简单。使用IMAP RENAME命令重命名结构中的每个文件夹。例如:

1个列表"" *

* LIST(\ UnMarked)" /"甲

* LIST(\ UnMarked)" /" A / B

* LIST(\ UnMarked)" /" A / B / C

* LIST(\ UnMarked)" /" A / B / C / d

* LIST(\ UnMarked)" /" A / B / C / d / E

* LIST(\ UnMarked)" /" A / B / C / d / E / F

* LIST(\ UnMarked)" /" A / B / C / d / E / F / G

对邮箱列表进行排序,以便首先进行最深层次的邮箱列表。

1 RENAME" A / B / C / D / E / F / G" " G"

2 RENAME" A / B / C / D / E / F" " F"

3 RENAME" A / B / C / D / E" " E"

4 RENAME" A / B / C / D" " d"

5 RENAME" A / B / C" " C"

6 RENAME" A / B" " B"

...之后

1个列表"" *

* LIST(\ UnMarked)" /"甲

* LIST(\ UnMarked)" /"乙

* LIST(\ UnMarked)" /" ç

* LIST(\ UnMarked)" /" d

* LIST(\ UnMarked)" /" ë

* LIST(\ UnMarked)" /" ˚F

* LIST(\ UnMarked)" /" ģ

可以编写一个简单的IMAP脚本来执行此操作。我可以发布一个链接到我的,但它是用Perl编写的。您必须将其转换为您选择的语言,但可能会有所帮助。