有什麼辦法可以下載所有在日期之間收回的電子郵件嗎?我可以下載JavaMail(IMAP)中日期之間收到的電子郵件嗎?
即:
Date from = ...
Date to = ...
Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
Message[] messages = inbox.getMessages(from, to);
有什麼辦法可以下載所有在日期之間收回的電子郵件嗎?我可以下載JavaMail(IMAP)中日期之間收到的電子郵件嗎?
即:
Date from = ...
Date to = ...
Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
Message[] messages = inbox.getMessages(from, to);
使用Folder#search(SearchTerm)。實施一個覆蓋SearchTerm#match(Message)方法的具體子類SearchTerm
。如果Message
的日期與您感興趣的日期匹配,則返回true。
使用兩個ReceivedDateTerms和AndTerm搜索日期介於兩個值之間的消息。一旦你有消息對象,你可以下載或訪問你需要的任何東西。
但是這是什麼? http://stackoverflow.com/a/7014977/2365209 – user2365209
IMAP協議只支持日期而不是時間。如果您需要基於時間進行搜索,則可以使用Folder.search將列表縮小到幾天,然後使用Message.match在指定的時間內查找消息。後者將通過下載每條消息所需的信息在客戶端完成。 –
此搜索是由服務器或應用程序? – user2365209
@ user2365209代碼放在您的應用程序中。 JavaMail將調用您的代碼來確定哪些消息匹配。然後,您可以使用該信息來獲取適合您參數的消息。 –
這種方法將導致所有的搜索都在客戶端完成。 –