代码之家  ›  专栏  ›  技术社区  ›  Santiago Palladino

使用带有imap的javax.mail从gmail获取邮件的uid

  •  3
  • Santiago Palladino  · 技术社区  · 16 年前

    我正在使用javax.mail从gmail中检索使用imap的邮件。我还想获得应用于每封邮件的标记,所以我将遍历存储区中的所有文件夹(实际上是标记),并为彼此下载邮件。

    我在用这个方法 getUID 获取每个邮件的uid,然后比较它们以识别不同文件夹中的同一邮件。

    例如,如果我的邮件“hello”标记为“a”和“b”,我将遍历文件夹“inbox”、“a”和“b”,并从每个文件夹中获取相同的邮件;这样我就可以保留一个标记为“inbox”、“a”和“b”的副本。

    但是,getuid方法返回一个文件夹相对id,因此同一封邮件在不同的文件夹中可能具有不同的id,或者不同的邮件在不同的文件夹中可能具有相同的id。在这个例子中。”“您好”可能显示为“A”中的邮件1和“B”中的邮件2。

    是否有一种方法可以为每封邮件获取与文件夹无关的存储相对ID?或者一个更好的方法来获得附加到一封邮件上的标签?

    2 回复  |  直到 16 年前
        1
  •  3
  •   Santiago Palladino    16 年前

    得到了答案 gmail forums :有一个“消息ID”头,其中包含我正在查找的值。

        2
  •  1
  •   Stefan Schultze    16 年前

    我认为唯一的方法是使用散列,根据消息头自己计算。