我正在使用javamail api通過imap
來閱讀我的Gmail郵箱,以索引所有郵件。我想讀取除默認文件夾以外的所有文件夾。下面的代碼段只給出gmail的默認文件夾。避免使用imap通過javamail讀取重複的gmail電子郵件
javax.mail.Folder[] folders = store.getDefaultFolder().list("*");
for (javax.mail.Folder fold : folders) {
if ((fold.getType() & javax.mail.Folder.HOLDS_MESSAGES) != 0) {
System.out.println(fold.getFullName() + ": " + fold.getMessageCount());
}
}
我有幾個標籤,當我使用上面的代碼時不顯示。有什麼辦法可以讓我可以獲得除gmail的默認文件夾之外的所有用戶定義的標籤。如果任何電子郵件有多於一個標籤並獲得該郵件的標籤,那麼還有什麼方法可以獲得。這是爲了避免兩次讀取相同的郵件。因爲如果任何郵件被標記爲important
那麼它會在,ALL MAILS
和IMPORTANT
文件夾中。所以根據上面的代碼,首先讀取郵件。如果我已經閱讀了該文件夾中的郵件,我希望避免閱讀其他文件夾中的同一郵件並獲取它的標籤,例如和IMPORTANT
,而不管該郵件是標記爲已讀還是未讀。我對javamail和imap都是新手,無法確定如何使其工作。如果有任何可能的方法請幫助
https://developers.google.com/google-apps/gmail/imap_extensions – Max