gpt4 book ai didi

java - 使用 Javamail API 确定电子邮件位于哪个 Gmail 选项卡下

转载 作者:行者123 更新时间:2023-12-02 21:58:44 24 4
gpt4 key购买 nike

我正在开发可以确定电子邮件放置在哪个 Gmail 选项卡下的应用程序(即社交促销等)。有没有办法通过 Javamail API 确定将电子邮件放入哪个 Gmail 选项卡?或者有其他一些应用程序可以确定这一点吗?

提前致谢。

最佳答案

无法使用 Javamail API 确定类别/选项卡,因为 Google 未将信息与 IMAP 协议(protocol)集成。该类别/标签只能通过 Google 专有的 GMail API 访问。

Image of categories settings in GMail

在标签下的 GMail 设置中,我可以通过单击类别旁边的“显示”将类别显示为 GMail Web 客户端中的文件夹,但它们并未出现在 IMAP 请求中。这一定是设计使然,因为没有为类别提供“在 IMAP 中显示”选项。

在现有答案中提到 GMail IMAP 扩展可用于访问 X-GM-THRID 和 X-GM-LABELS

Google 的 GMail IMAP 文档中对这些扩展进行了解释: https://developers.google.com/gmail/imap/imap-extensions

  1. X-GM-LABELS ->“出于 IMAP 目的,Gmail 将标签视为文件夹。”

    a010 FETCH 1:4(X-GM-标签)

    • 1 FETCH (X-GM-LABELS (\Inbox\Sent important "Muy importante"))
    • 2 FETCH (X-GM-LABELS (foo))
    • 3 FETCH(X-GM-LABELS ())
    • 4 FETCH(X-GM-LABELS(\草稿))a010 OK FETCH(成功)
  2. X-GM-THRID ->“Gmail 提供线程 ID,以与 Gmail 网络界面中相同的方式关联邮件组。”

    a008 FETCH 1:4 (X-GM-THRID)

    • 1 FETCH (X-GM-THRID 1278455344230334865)
    • 2 FETCH(X-GM-THRID 1266894439832287888)
    • 3 FETCH(X-GM-THRID 1266894439832287888)
    • 4 获取(X-GM-THRID 1266894439832287888)a008 OK FETCH(成功)

但是这些扩展名都没有指定电子邮件所属的类别。

但是,有两种替代解决方案允许 Javamail 间接使用类别:

  1. 使用将标签与每个类别相关联的过滤器 -> 为每个类别创建一个 IMAP 文件夹
  2. 创建一个过滤器并将其与“跳过收件箱”关联,以排除某些电子邮件出现在 IMAP 请求中(如果这是您的目标)

将类别更改为标签/IMAP 文件夹的过程:

  1. 转到 GMail 设置
  2. 点击“查看所有设置”
  3. 点击“过滤器和阻止的地址”
  4. 点击“创建新过滤器”
  5. 在“包含单词”行中输入“category:primary”
  6. 点击“创建过滤器”
  7. 勾选“应用标签”
  8. 选择“新标签...”
  9. 输入标签名称[这将是 IMAP 文件夹名称]

该过程的屏幕截图:

Procedure

跳过收件箱的过程

  1. 与上述过程相同
  2. 在第 7 步中,选择“在收件箱中跳过”而不是“应用标签”

要过滤的可能类别列表:

  • 类别:主要
  • 类别:社交
  • 类别:促销
  • 类别:论坛
  • 类别:更新

关于java - 使用 Javamail API 确定电子邮件位于哪个 Gmail 选项卡下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17841713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com