2017-03-09 34 views
0

我想創建使用JavaMail API這樣的電子郵件文件夾:的JavaMail創建可見文件夾

Properties props = new Properties(); 
props.put("mail.store.protocol", "imap"); 
props.put("mail.imap.timeout", 1000); 
props.put("mail.imap.connectiontimeout", 1000); 
props.put("mail.imap.writetimeout", 1000); 
props.put("mail.imap.connectionpooltimeout", 500); 
props.put("mail.imap.fetchsize", "2000000"); 

Session session = Session.getInstance(props); 
Store store = session.getStore(); 
store.connect(host, user, pass); 
Folder someFolder = store.getFolder("SomeFolder"); 

if (!someFolder.exists()) 
    if (someFolder.create(Folder.HOLDS_MESSAGES)) 
     System.out.println("Folder was created successfully"); 

我可以用這個文件夾從我的軟件:將郵件移動到它,得到消息列表等。但是它對大多數(不是全部)郵件客戶端是不可見的,例如Thunderbird。我如何創建一個對所有郵件客戶端都可見的文件夾?

+0

您也可以發表你是如何創建的郵件文件夾 – mhasan

+0

@mhasan更新代碼 – AndrewR

回答

0

你可能想試試看看它是否讓你看到所有的用戶身份驗證的文件夾。

javax.mail.Folder[] folders = store.getDefaultFolder().list("*"); 
+0

我收到的代碼:郵件,收件箱和SomeFolder。 – AndrewR

+0

好的。可能你應該得到你的SomeFolder – mhasan

+0

我可以從我的軟件中使用它:將郵件移動到它,獲取郵件列表等,但它仍然是一些(而不是每個)郵件客戶端,例如,雷鳥。 – AndrewR

0

您必須訂閱新文件夾。

if (!someFolder.exists()) { 
    if (someFolder.create(Folder.HOLDS_MESSAGES)) { 
     someFolder.setSubscribed(true); 
     System.out.println("Folder was created successfully"); 
    } 
}