【问题标题】:How to filter new messages on Gmail?如何过滤 Gmail 上的新邮件?
【发布时间】:2015-04-24 18:15:24
【问题描述】:

我正在构建一个应用程序,用于使用 Gmail Rest Api 将电子邮件从 Gmail 发送到 Exchange 邮箱。到目前为止,我做了以下事情。

  1. 我已成功创建源邮箱和目标邮箱。
  2. 我可以通过调用 messages.list 和 messages.get 函数来发送消息。
  3. 要检查新电子邮件,我必须遍历所有 messageId,即使是我已经发送到 Exchange 邮箱的那些。(即旧电子邮件的消息 Id)
  4. 我已确保没有重复的电子邮件发送到 Exchange 邮箱。

由于我必须遍历 Gmail 邮箱中的所有 messageId 以检查新电子邮件,因此当电子邮件数量很大时,我可能会遇到性能问题。我想知道是否有一种有效的方法可以只获取新电子邮件,而不必遍历所有 messageId。还有一件事,我只在收件箱标签中搜索新的电子邮件到达,我还需要搜索其他标签吗?我相信新电子邮件仅包含在收件箱、重要和垃圾邮件标签中,我还需要了解其他信息吗?

在将 Google 电子邮件发送到 Exchange 邮箱之前,我将它们放入数据库表中。为了解决我的问题,我计划在电子邮件表中添加一个日期时间字段来跟踪特定日期和时间的新电子邮件。我不确定这个想法是否可行,因此我需要有关此问题的专家建议。

【问题讨论】:

    标签: c# gmail-api


    【解决方案1】:

    Users.messages: list 的 Gmail API 文档中读取参数 q 的 cmets:

    q
    字符串
    只返回匹配指定查询的消息。支持与 Gmail 搜索框相同的查询格式。例如,“from:someuser@example.com rfc822msgid:is:unread”。

    可能 is:unread 可能会帮助您仅列出新消息?

    【讨论】:

    • +1 用于提醒我参数 "q" 。不幸的是,它不会完全帮助我,用户可能不会阅读较旧的电子邮件。由于我正在将电子邮件从 gmail 迁移到 Exchange 邮箱,因此用户希望在 Exchange 邮箱上阅读他们的电子邮件。 :)
    猜你喜欢
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多