我从javamail MailFolder class doc读到:
请注意,在以下情况下,会话中的消息的消息号可以更改: 使用expunge方法删除包含的Folder。客户群 使用消息编号作为消息引用的对象应了解 并且应该准备好应对情况(可能是通过 冲洗掉现有的消息号引用并重新加载它们)。 由于这种复杂性,客户端最好使用Message 对象是对消息的引用,而不是消息编号。 删除的Message对象仍然必须修剪,但是其他Message 该文件夹中的对象不受删除的影响。
我想知道如果消息对象发生更改,如何使用消息对象作为对消息的引用,我的意思是,即使在删除之前存储消息对象引用,一旦出现MessageCount REMOVED事件,该对象引用也将与该对象引用不同之前存储。
我之所以这样问,是因为我实际上在使用消息号作为已删除消息的引用时遇到了问题...因此,我正在考虑为每个REMOVED事件完全重建Map of。 我不太喜欢这种方法,因为我认为它可能在大型邮箱中慢慢出现...但是我看不到使用messageNumber的亮点...
谢谢