電子郵件回應

電子郵件回應可讓使用者利用表情符號,以有趣、順暢的方式回覆電子郵件。

形式

電子郵件回應是一般 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-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 標頭指定郵件附近的表情符號欄位中顯示表情符號。這可能也包含使用該表情符號收到回應的數量,或許會顯示該回應的傳送者,以及其他可能的 UI 處理。如果缺少 In-Reply-To 標頭,或是系統在對話串中找不到具有指定 ID 的郵件,Gmail 會將回應訊息顯示為一般電子郵件。請注意,由於使用者刪除了郵件、執行緒過長或其他因素,Gmail 可能無法找到郵件。

在顯示無效的電子郵件回應訊息時,Gmail 會顯示 text/html 部分 (如果有的話)。否則,系統會使用 text/plain 部分。如果主體部分不存在,Gmail 會顯示空白訊息。

限制

Gmail 建議為支援電子郵件回應功能的客戶加入一些限制,避免使用者的回應過大。請特別注意以下幾點:

  • 來自郵寄清單的郵件不允許回應。
  • 如果郵件的收件者過多,系統就無法傳送回應。(Gmail 的 ToCC 合併欄位最多可使用 20 個不同的收件者)。
  • 收件者不在 ToCC 欄位的訊息不應允許回應。
  • 已含有許多回應的訊息不應允許應用程式回應。(對於一則訊息,Gmail 最多只能針對每位使用者傳送 20 個回應)。

下文的「回覆使用表情符號回應電子郵件」一節的「無法傳送表情符號回應」一節所述情況的詳細說明。