Java
列表命令中未顯示 Imap 子文件夾 - 可能是 acls 配置錯誤
我的目標是將整個文件夾結構與所有郵件從一個 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項目中已經存在的問題單中。