【问题标题】:Gmail New Threading Policy requires workaround - how to fix?Gmail 新线程策略需要解决方法 - 如何解决?
【发布时间】:2019-09-19 06:21:19
【问题描述】:

根据此公告 - https://gsuiteupdates.googleblog.com/2019/03/threading-changes-in-gmail-conversation-view.html - 如果电子邮件是系统生成的,则具有完全相同的发件人/收件人和主题的电子邮件将不再在 Gmail 中插入,除非我们以某种方式在后续系统生成的电子邮件中引用原始邮件信息。

是否有人对我们如何使用 ASP / VBScript 在 CDO 邮件中执行此操作有想法?我猜我们也必须在创建消息后调用 Google API 来获取消息 ID。

Google 无法提供超出此博客文章中使用的语言的任何帮助,如下所示:

其他详情

如果您正在管理一个向用户发送电子邮件通知的系统 并希望您的电子邮件在 Gmail 对话视图中进行串接,然后 您必须确保您的通知:

1) 有相同的主题

2) 有引用标题,引用前面的 ID 线程,或具有始终引用相同的引用标题 消息ID

想法受到赞赏。

【问题讨论】:

    标签: vbscript vb6 gmail google-workspace cdo.message


    【解决方案1】:

    我不确定您为什么要寻找任何类型的 Google API,这听起来是任何电子邮件回复都应具有的标准“参考”和“回复中”标头。请参阅 RFC 5322 中的 section 3.6.4 "Identification Fields"。要创建它,您需要阅读正在回复的电子邮件的 Message-ID 标头并将其用于 References 标头。

    只需阅读您要回复的电子邮件的 Message-ID,就像任何其他标题一样:

    Dim OriginalMessageId as String
    OriginalMessageId = originalEmail.Fields.Item("urn:schemas:mailheader:message-id")
    

    并使用它在您的新电子邮件中创建参考标头:

    replyEmail.Fields.Item("urn:schemas:mailheader:references") = OriginalMessageId
    replyEmail.Fields.Item("urn:schemas:mailheader:in-reply-to") = OriginalMessageId
    

    如果您需要更多关于它如何工作的指针,您可能需要包含更多关于您如何阅读消息以及如何回复消息的代码。

    【讨论】:

    • 嗨,彼得,感谢您的阅读和回复。我不是很清楚。我们所有具有共同主题和发件人/发件人地址的邮件都是系统生成的使用 CDO 的通知电子邮件。以前它是线程化的,但现在由于这个新要求它没有。
    • 因此,如果您没有在回复中添加 References 标头,则需要这样做。我不确定你不清楚什么。
    • 如果有错误请纠正我,但听起来我们必须以某种方式将在发送电子邮件 #1 后生成的引用标头数据库化。我不清楚的是,我不确定在发送 CDO 消息后如何读取该消息 ID 值 - 我正在通过 Gmail SMTP 服务器使用 CDO 发送。还是您建议我在发送之前尝试分配该消息ID?我试图研究如何提取消息 ID,但没有发现任何明确的信息。感谢您的帮助,谢谢。
    • 我认为您需要更清楚地了解您的工作流程...您是否试图以某种方式将不是您正在发送的回复的事情串起来?
    • 我认为答案是肯定的。我们会定期从外部系统添加有关某个主题的注释,当我们这样做时,我们会选择将该注释复制到技术上不是“回复”但相关的电子邮件的选项,因此我们希望它可以线程化。另一个例子是从外部系统发布的 SMS 对话,我们希望看起来像 Gmail 中的对话。以前他们穿线,现在他们没有。这有帮助吗?
    猜你喜欢
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 2012-08-22
    • 2011-11-26
    相关资源
    最近更新 更多