我想從gmail的所有文件夾中獲取電子郵件。 從收件箱,發送的文件夾和其他文件夾我成功地收到電子郵件。 但是,當我嘗試從草稿,垃圾郵件和垃圾得到它我得到一個異常:無法使用javax.mail從Google搜索草稿箱,垃圾郵件和垃圾箱文件夾中的電子郵件
09:51:45,622 ERROR MailRetriever.[main]getNoFlaggedMails:142 - Can't get messages: javax.mail.MessagingException: connection failure
javax.mail.MessagingException: connection failure
at com.sun.mail.imap.IMAPStore.getProtocol(IMAPStore.java:742)
at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:910)
at ua.com.stormlabs.gap.gmail.MailRetriever.getNoFlaggedMails(MailRetriever.java:133)
at ua.com.stormlabs.gap.gmail.GMailServiceProcessor.processFolder(GMailServiceProcessor.java:95)
at ua.com.stormlabs.gap.gmail.GMailServiceProcessor.start(GMailServiceProcessor.java:80)
at ua.com.stormlabs.gap.gmail.GMailGapApp.main(GMailGapApp.java:21)
這是用於檢索郵件代碼:
Folder folder = imapSslStore.getFolder(folderName);
folder.open(Folder.READ_WRITE);
openedFolders.put(folderName, folder);
Flags searchFlags = new Flags(Flags.Flag.USER);
searchFlags.add(FLAG_PREFIX + READ_BY_GAP_FLAG);
Message[] messages = folder.search(new FlagTerm(searchFlags, false));
log.debug("Messages list retrieved: " + messages.length);
return messages;
文件夾的名字我嘗試沒有成功打開:
[Gmail]/Drafts
[Gmail]/Spam
[Gmail]/Trash
我使用imapSslStore.getDefaultFolder()。list(「*」);讓所有的文件夾和我得到這樣的名單: INBOX 個人 收據 旅遊 工作 的[Gmail] [Gmail] /所有郵件 的[Gmail] /草稿 的[Gmail] /重要 [Gmail] /已發送郵件 [Gmail] /垃圾郵件 [Gmail] /加星標 [Gmail] /垃圾郵件 – Hleb
然後嘗試執行'folderName =「Gmail /草稿」'並查看它是否有效(或'folderName =「/ Drafts」')。 –
不,現在我得到了javax.mail.FolderNotFoundException。 – Hleb