2012-07-17 80 views
1

我正嘗試使用JavaMail在特定文件夾中訪問我的IMAP電子郵件來實現一個小工具。然後通知這些文件夾中是否有新電子郵件。我不一定對知道未讀消息感興趣。由於郵件可能已被讀取(在共享郵箱方案中),但對我而言可能還是新手。使用Java檢查新的IMAP郵件

我在想讀取文件夾並存儲最新消息的UID。然後在下次檢查時比較該UID。但是,我無法在Javamail文檔中找到有關如何在不查看整個消息列表並按日期和/或消息編號進行排序的情況下查找最新消息的任何信息。

有沒有更好的方式來了解新消息?有沒有簡單的方法來告訴JavaMail我只想要文件夾中的最新消息?

回答

1

鑄造爲IMAPFolder並使用getMessagesByUID(long start, long end)LASTUID

0

JavaMail API已經有了一些搜索機制。您可以搜索收件箱文件夾,如:

Message messages[] = inbox.search(new FlagTerm(new Flags(Flag.RECENT), true)); 

它只在您的收件箱中提供未讀郵件。