Java

列表命令中未顯示 Imap 子文件夾 - 可能是 acls 配置錯誤

  • June 27, 2013

我的目標是將整個文件夾結構與所有郵件從一個 imap 帳戶複製到另一個帳戶。我為此使用的工具是imapcopy(來自 code.google.com 的基於 java 的版本,因為與 debian 一起打包的 unix/linux 工具不支持 imaps)。

現在,有一個問題:該工具只複製頂級文件夾而不是嵌套文件夾。為了縮小問題範圍,我下載了 imapcopy 的原始碼並調試到程式碼中。在那裡我注意到folder.list()(映射到list "%"imap 命令)返回一個空列表。但是當我這樣做時,getFolder(<subfoldername>)我可以訪問這些子文件夾。在閱讀了有關 imap 功能的一些文件後,我認為問題可能是一些配置錯誤的 ACL,這些 ACL 禁止列出這些文件夾,但允許讀取和寫入它們。

我應該如何檢查這個 ACL?我需要哪些工具來完成這項任務?

我自己找到了解決方案:似乎呼叫open()特定文件夾會導致同一文件夾的子文件夾列表為空。通過將 line call 移到 line callinglist()之前open()imapcopy可以按預期工作。我還將更改後的 java 程式碼附加到imapcopy項目中已經存在的問題單中。

引用自:https://serverfault.com/questions/518625