2017-05-18 39 views
0

我使用JavaMail for Android。我想從「INBOX」和「SENT」文件夾中收到消息。對於所有電子郵件客戶端,「INBOX」文件夾名稱相同,但是針對不同客戶端的「SENT」文件夾名稱相同。我怎樣才能讓「發送」文件夾被投保,它適用於所有客戶。如何使用javamail獲取gmail,yahoo和其他電子郵件的「已發送」文件夾?

+0

這可以幫助ü.... HTTPS://www.tutorialspoint.com/javamail_api/javamail_api_folder_management.htm – amrit

回答

1

有一個IMAP standard for this,但它沒有廣泛實施。缺乏這一點,您需要向用戶詢問已發送郵箱的名稱,或者您需要包含一些嘗試通過檢查常用郵件程序所用名稱來查找它的啓發式。

+0

感謝您的答覆,但我知道,沒有人使用IMAPS標準。 – user1480210

0

經過多次研究,我發現我認爲應該適用於所有郵件客戶端的解決方案。 該示例代表如何通過屬性獲取發送的文件夾。

for (Folder folder : folderList) { 
      String[] attributes = ((IMAPFolder) folder).getAttributes(); 
      for (String attr : attributes) { 
       if (attr.toLowerCase().contains("sent")) 
        return folder; 
      } 
     } 
+0

這就是我上面提到的那種啓發式,如果文件夾的名稱是用另一種語言本地化的,它將不起作用。它還會對名稱(例如)缺席,同意,同意,存在,重新發送等文件夾產生誤報。 –

相關問題