【问题标题】:Gmail API - messages not threaded in :SentGmail API - 未串入的邮件:已发送
【发布时间】:2016-03-16 10:53:46
【问题描述】:

我正在通过 API 发送回复电子邮件 - 这是对我自己的邮件的回复。我在主题前添加了“Re:”,添加了 References: 和 In-Reply-To: 标头,以及父级的 Message-Id:。

消息在接收箱中被正确串接,但在我的发件箱中,电子邮件被创建为一个单独的实体 - 如果我使用 Web 界面或桌面应用程序,则不会发生这种情况。

示例消息源:

通过网络界面创建的原始消息(我删除了地址):

    MIME-Version: 1.0
    Received: by 10.37.207.3 with HTTP; Thu, 10 Dec 2015 07:39:53 -0800 (PST)
    Date: Thu, 10 Dec 2015 16:39:53 +0100
    Delivered-To: 
    Message-ID: <CAPf8QCoRSL9N18ss1hFWF+CW0Rx15typqxhJnHLHgimJ+Hv=zQ@mail.gmail.com>
    Subject: wat
    From: 
    To: 
    Content-Type: multipart/alternative;

通过 API 创建的响应:

    Received: from 512896642660-8e1jj3ccsnam3mm1k91qn7c0k6odc316.apps.googleusercontent.com
            named unknown
            by gmailapi.google.com
            with HTTPREST;
            Thu, 10 Dec 2015 07:40:25 -0800
    Content-Type: text/plain; charset="us-ascii"
    MIME-Version: 1.0
    Content-Transfer-Encoding: 8bit
    To: 
    From: 
    Subject: Re: wat
    In-Reply-To: <CAPf8QCoRSL9N18ss1hFWF+CW0Rx15typqxhJnHLHgimJ+Hv=zQ@mail.gmail.com>
    References: <CAPf8QCoRSL9N18ss1hFWF+CW0Rx15typqxhJnHLHgimJ+Hv=zQ@mail.gmail.com>
    Date: Thu, 10 Dec 2015 07:40:25 -0800
    Message-Id: <CAPf8QCq0Fh-LoC77cJ84gxERUZZMgXTuWMwG9-ZeO3LEybbkBQ@mail.gmail.com>

Here's how these messages look in my outbox ,任何想法有什么问题以及为什么没有线程化消息?

【问题讨论】:

标签: gmail gmail-api


【解决方案1】:

基于 GMail API 开发者网站中的Managing Threads,有 3 个标准被视为线程

要成为话题的一部分,消息或草稿必须满足以下条件:

  • 必须在随请求提供的 Message 或 Draft.Message 中指定请求的 threadId。
  • 必须按照 RFC 2822 标准设置 References 和 In-Reply-To 标头。
  • 主题标头必须匹配。

由于您在开头附加了“RE:”,因此它似乎被视为单独的主题,并未包含在主题中。

希望这会有所帮助!

【讨论】:

  • 我后来找到了this thread,这解决了这个问题。
  • 在 API Send example 中,您需要将 threadId 属性添加到 CreateMessage 返回的 dict 中。
  • 刚刚对此进行了测试:如果设置了 ThreadId,则添加“Re:”前缀不会破坏 GMail 端的线程。
猜你喜欢
  • 2021-09-11
  • 1970-01-01
  • 2021-01-27
  • 1970-01-01
  • 2014-10-30
  • 2018-11-16
  • 1970-01-01
  • 2010-11-03
  • 2017-12-19
相关资源
最近更新 更多