电子邮件回应

电子邮件回应可让用户使用表情符号以有趣且流畅的方式回复电子邮件。

形式

电子邮件回应是常规 MIME 格式的电子邮件,它具有表示这是回应的特殊部分。

整体消息格式

电子邮件的正文部分必须包含 Content-Type: text/vnd.google.email-reaction+json,并且其格式如定义中所述。

正文部分可以是以下任何一种:

  • 消息的顶级部分。这意味着该电子邮件的 Content-Type 标头为 text/vnd.google.email-reaction+json
  • 多部分 MIME 部分的子部分,其 Content-Typetext/vnd.google.email-reaction+jsonContent-Disposition 不是 attachment

回应电子邮件还应包含常规的 text/plaintext/html 部分,以便不支持电子邮件回应的电子邮件客户端仍然显示回复内容。Gmail 建议将 text/vnd.google.email-reaction+json 部分放在 text/plaintext/html 部分之间。这是因为有些电子邮件客户端始终会显示最后一部分,无论它们是否确实理解其 MIME 类型。同样,某些电子邮件客户端仅显示第一部分。

电子邮件还应包含一个 In-Reply-To 标头,其中包含回应所应用到的邮件的邮件 ID。此值必须是单个邮件 ID。

text/vnd.google.email-reaction+json 部分定义

此 MIME 部分采用 JSON 格式。它包含两个字段:

  • version:一个整数,表示此部分符合的电子邮件回应格式版本。此字段必须为 1
  • emoji:一个字符串,仅代表一个表情符号符号(如 Unicode 技术标准 51 中所定义)。

如果 Content-Transfer-Encoding 是二进制格式,则 JSON 必须使用 UTF-8 字符编码。否则,Content-Transfer-Encoding 可以是任何标准编码。

Gmail 对“text/vnd.google.email-reaction+json”的解读

当 Gmail 收到类似回应的邮件时,它会验证回应部分并对该邮件应用特殊显示处理。

验证

Gmail 会使用收到的 text/vnd.google.email-reaction+json 部分验证所有邮件。如果部分格式不正确,则会被视为无效,并且相应消息不会被视为回应。

具体而言:

  1. Gmail 会解析 JSON 并检查其有效性。如果 JSON 格式有误,Gmail 会认为该部分无效。

  2. Gmail 会检查版本字段。版本必须正好为 1。此值必须是整数;不能是字符串。随着格式的发展,可能会接受其他版本。如果版本未知或缺失,Gmail 会将部分视为无效。

  3. Gmail 会检查表情符号字段。其内容必须是 Unicode 技术标准 51 版本 15 或更高版本指定的表情符号之一,包括任何引用的扩展名,例如肤色。随着表情符号标准的不断完善,Gmail 承诺至少支持最新版本 - 1。Gmail 可能支持最新版本,但实现任何新发布的标准所需的窗口除外。如果该字段缺失、为空或未正好包含一个表情符号,则 Gmail 会将该部分视为无效。

显示

对于具有有效电子邮件回应部分的邮件,Gmail 会在 In-Reply-To 标头所指定的邮件附近的表情符号字段中显示表情符号。这可能还包括与该表情符号相关的回应数量、该表情符号的发送者以及可能的其他界面处理方式。如果 In-Reply-To 标头缺失或无法在会话线程中找到具有指定 ID 的邮件,Gmail 会将回应邮件显示为常规电子邮件。请注意,由于用户删除了邮件、会话过长或其他任何原因,Gmail 可能无法找到该邮件。

显示无效的电子邮件回应邮件时,Gmail 会显示 text/html 部分(如果存在)。否则,它会使用 text/plain 部分。如果不存在包含其中任一内容的正文部分,Gmail 会显示一条空消息。

限制

Gmail 建议希望增加对电子邮件回应支持的客户端添加一些限制,以防止用户回应过多。具体而言:

  • 来自邮寄名单的邮件不应允许回应。
  • 收件人过多的邮件不应允许回应。(Gmail 对 ToCC 字段的组合使用不超过 20 位不同的收件人。)
  • 收件人不在 ToCC 字段中的消息不应允许回应。
  • 已经有许多回应的邮件不应允许回应。(对于一封邮件,Gmail 对每位用户的回应限制为 20 个)。

使用表情符号回应来回复电子邮件的“无法发送表情符号回应”部分也介绍了这些限制和其他限制。