【问题标题】:IMAP: java, how to determine a folder has been renamed or moved?IMAP:java,如何确定文件夹已重命名或移动?
【发布时间】:2015-08-11 01:00:20
【问题描述】:

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

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

  1. a 重命名为 b 或
  2. a 被删除,生成了完全不同的文件夹 b

我们是否必须使用文件夹中的消息来帮助判断它是真正的重命名还是删除/创建操作?

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

【问题讨论】:

    标签: java directory jakarta-mail imap


    【解决方案1】:

    没有标准的方法。一些服务器有一个非标准的扩展来解决这个问题(status x-guid),但是 gmail 是世界上最大的 IMAP 服务器并且没有实现 x-guid。

    这是个问题。幸运的是,这种情况并不经常发生。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-11
      • 2016-03-29
      • 2015-05-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-27
      相关资源
      最近更新 更多