IMAP:java,如何确定已重命名或移动的文件夹?

时间:2015-05-28 13:26:19

标签: java directory javamail imap

我们使用带有imap帐户的java mail api。假设我们有一个空文件夹 a ,然后在outlook上将其重命名为 b 。该文件夹的全名 inbox.a ,然后是 inbox.b 。 或者我们将文件夹移动到inbox.c,例如,它变为 inbox.c.a

我们如何确定例如重命名动作(a到b),更清楚如何区分:

  1. a已重命名为b或
  2. a已删除,并且生成了完全不同的文件夹b
  3. 我们是否必须使用文件夹中的消息来帮助它是真正的重命名还是删除/创建操作?

    在java中,当我调试IMAPFolder实例时,我可以保留引用的唯一值是UIDValidty数字?我可以依靠它吗?据我所知,邮件服务器可以在某些情况下对其进行更改。

1 个答案:

答案 0 :(得分:1)

没有一种标准方式。有些服务器有一个非标准扩展来缓解( String uri = "geo:0,0?q=34.99,-106.61(Treasure)"; ),但gmail是世界上最大的IMAP服务器,并没有实现x-guid。

这是一个问题。幸运的是,它并不经常发生。

两个不同的独立邮箱可以具有相同的uidvalidity。我不知道这种情况有多常见。