電子郵件回應

電子郵件回應功能可讓使用者以有趣且無摩擦的方式,透過表情符號回覆電子郵件。

格式

電子郵件回應是使用 MIME 格式的一般電子郵件,其中包含表示回應的特殊部分。

整體訊息格式

電子郵件必須包含主體部分,其中 Content-Type: text/vnd.google.email-reaction+json 的格式必須符合定義的說明。

身體部位是指:

  • 郵件中的頂層部分。也就是說,電子郵件的 Content-Type 標頭為 text/vnd.google.email-reaction+json
  • 多部分 MIME 部分的子部分,其 Content-Typetext/vnd.google.email-reaction+json,而 Content-Dispositionattachment

回應電子郵件也應包含一般 text/plaintext/html 部分,這樣即使電子郵件用戶端不支援電子郵件回應功能,仍會顯示回應內容。Gmail 建議將 text/vnd.google.email-reaction+json 部分放在 text/plaintext/html 部分之間。這是因為部分電子郵件用戶端一律會顯示最後一個部分,無論是否實際瞭解其 MIME 類型。同樣地,某些電子郵件用戶端只會顯示第一部分。

電子郵件也應包含 In-Reply-To 標頭,其中包含反應所適用的郵件 ID。此 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 標頭指定的郵件附近的表情符號欄位中顯示表情符號。這可能還包括使用該表情符號收到的回應次數,並顯示該回應的傳送者,以及其他可能的 UI 處理方式。如果缺少 In-Reply-To 標頭,或是無法在對話串中找到具有指定 ID 的郵件,Gmail 會將回應郵件顯示為一般電子郵件。請注意,Gmail 可能無法找到郵件,原因可能是使用者已刪除郵件、會話串過長,或其他原因。

當 Gmail 顯示無效的電子郵件回應訊息時,如果存在 text/html 部分,系統就會顯示該部分。否則,系統會使用 text/plain 部分。如果沒有任何內文部分含有這兩者,Gmail 就會顯示空白訊息。

限制

Gmail 建議用戶端在新增電子郵件回應功能時,加入一些限制,以免回應訊息過多。請特別注意以下幾點:

  • 郵寄清單中的訊息不應允許回應。
  • 收件者過多的訊息不應允許回應。(Gmail 在合併的 ToCC 欄位中,使用 20 個不重複收件者的限制)。
  • 如果收件者不在 ToCC 欄位中,則不應允許回應。
  • 已收到許多回應的訊息不應允許回應。(Gmail 規定每位使用者對任何一封郵件最多只能回應 20 次)。

使用表情符號回覆電子郵件的「無法傳送表情符號回應」一節也說明瞭這些限制和其他限制。