我有一个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