Imap 子文件夹未显示在列表命令中 - 可能是 acls 配置错误

Imap 子文件夹未显示在列表命令中 - 可能是 acls 配置错误

我的目标是将包含所有邮件的整个文件夹结构从一个 imap 帐户复制到另一个 imap 帐户。我为此使用的工具是复制(来自 code.google.com 的基于 java 的版本,因为与 debian 一起打包的 unix/linux 工具不支持 imaps)。

现在,有一个问题:该工具仅复制顶级文件夹,而不复制嵌套文件夹。为了缩小问题范围,我下载了 imapcopy 的源代码并调试了代码。在那里我注意到folder.list()(映射到list "%"imap 命令)返回一个空列表。但是当我执行时,getFolder(<subfoldername>)我可以访问这些子文件夹。在阅读了有关 imap 功能的一些文档后,我认为问题可能是一些配置错误的 ACL,它们禁止列出这些文件夹,但允许读取和写入它们。

我应该如何检查此 ACL?完成这项任务我需要哪些工具?

答案1

我自己找到了解决方案:似乎调用open()特定文件夹会导致同一文件夹的子文件夹列表为空。通过将调用行移到list()调用行之前open()复制工作正常。我还将修改后的 Java 代码附加到已经存在的问题单中复制项目。

相关内容