IMAP 展平文件夹结构

IMAP flatten folder structure

有人知道如何在我的 IMAP 帐户中拼合某个文件夹吗?字面上有数百个((子)子)子文件夹。这是一个非常古老的存档(从那时起搜索就很糟糕,子文件夹是个好主意,是的,其中大部分是上个千年),我想将其中的所有消息添加到我的标准存档文件夹中。在 Google 上找不到任何内容。我对托管邮件帐户的 VPS 具有 root 访问权限。安装了 Directadmin 和 Roundcube。它是标准的 CentOS 7 Apache 安装。任何人都知道任何脚本、工具、Thunderbird 插件或其他任何东西吗?我精通 php 但不精通 python,但如果需要我愿意研究它。

提前致谢!

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

之前

1 个列表“”*

* LIST (\UnMarked) "/" A

* 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 重命名 "A/B/C/D/E/F/G" "G"

2 重命名 "A/B/C/D/E/F" "F"

3 重命名 "A/B/C/D/E" "E"

4 重命名 "A/B/C/D" "D"

5 重命名 "A/B/C" "C"

6 重命名 "A/B" "B"

之后...

1 个列表“”*

* LIST (\UnMarked) "/" A

* LIST (\UnMarked) "/" B

* LIST (\UnMarked) "/" C

* LIST (\UnMarked) "/" D

* LIST (\UnMarked) "/" E

* LIST (\UnMarked) "/" F

* LIST (\UnMarked) "/" G

可以编写一个简单的 IMAP 脚本来执行此操作。我可以 post 一个 link 来挖掘,但它是用 Perl 编写的。您必须将其转换为您选择的语言,但也许它会有所帮助。

试试这个:

./copy_nested_msgs.pl

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

-m文件夹(要复制其子文件夹的父文件夹)
-M文件夹(要复制邮件的目标文件夹)
-S 源服务器:port/user/password
-D 目标服务器:port/user/password
-L 日志文件
[-d] 调试模式(可选)

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