【问题标题】:How to uniquely identify email reply?如何唯一标识邮件回复?
【发布时间】:2020-04-16 23:13:25
【问题描述】:

我正在构建一个票务系统,用户可以在其中提出支持票,并且代理可以回复特定票,当代理回复特定票时,我会将回复发送到相应的用户电子邮件(使用 SendGrid 的电子邮件服务)。

我的问题是,当用户回复代理电子邮件时,我将使用 SendGrid 入站解析器获取该电子邮件,但我不知道如何唯一地识别哪个票证用户已回复。我有两个想法在标题中附加 JWT 或唯一的电子邮件地址类似于票证 ID (ticket-id-2654654@example.com) 但我不知道什么会起作用

【问题讨论】:

    标签: email sendgrid


    【解决方案1】:

    您可以使用电子邮件发送自定义Message-ID Header (RFC 2392)。对您的电子邮件的回复应包含 References 和/或 In-Reply-To 标头,其中包含已回复电子邮件的 Message-ID

    编辑:刚刚使用 Zendesk 和 Zammad 对其进行了测试。他们似乎都以这种方式识别响应。

    【讨论】:

    • 您有没有机会知道如何从 sendgrid 获取该消息 ID?还是有办法让我自己知道?
    【解决方案2】:

    您提到拥有一个唯一的电子邮件地址,与 VERP可变信封返回路径)地址不同。如果处理退回邮件,VERP 是最相关的,因为它指的是用于 SMTP MAIL FROM: 的地址,

    MAIL FROM:<ticket-id-2654654@example.com>
    

    特别是它有助于识别哪些电子邮件被退回 - 电子邮件可能永远不会到达远程端的邮箱。请注意,像这样在 SMTP 对话期间使用的地址将记录在收到的电子邮件的顶部,并带有“Return-Path:”标头。

    假设一封电子邮件没有退回,那么如何确保带有可识别标识符的电子邮件返回:

    MysteriousPerson 的自定义Message-ID: 标头建议非常好;还可以在Reply-To: 标头中指定一个 VERP 地址 - 因此应该在回复中找到您放在那里的一个或两个标识符,以解码原始消息发送到的票证/用户。您可以选择在 From: 标头中使用相同的 VERP 地址或更人性化的地址,具体取决于您希望收件人看到的内容。由于指定了Reply-To:,客户端软件将使用它来回复。

    SMTPmessage format 上的主要 RFC 如果您还不了解它们可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 2012-08-03
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      相关资源
      最近更新 更多