我有一個IMAPFolder
與MessageCountListener
,它偵聽正在添加/從文件夾中刪除的郵件。在我的messageRemoved(MessageCountEvent ...)
內部,我需要獲取剛刪除的消息的UID,以便我可以在本地緩存中反映這些更改。獲取已刪除郵件的UID
的問題是,如果我嘗試對已刪除的郵件執行IMAPFolder.getUID(Message ...)
我得到
javax.mail.MessageRemovedException
at com.sun.mail.imap.IMAPMessage.checkExpunged(IMAPMessage.java:220)
at com.sun.mail.imap.IMAPFolder.getUID(IMAPFolder.java:1949)
at (...).IdleWatcher$1.messagesRemoved(IdleWatcher.java:64)
at javax.mail.event.MessageCountEvent.dispatch(MessageCountEvent.java:152)
at javax.mail.EventQueue.run(EventQueue.java:134)
at java.lang.Thread.run(Thread.java:856)
如何確定已刪除郵件的UID?我可以查看所有緩存的消息,並檢查哪些消息仍然存在,但是這樣消耗資源太多,無法在每次消息被刪除時進行。
通過什麼屬性,你是建議搜索緩存中的郵件? (請閱讀我對以前消息的評論) – Hubbitus 2015-02-08 22:24:23