Реакции по электронной почте

Функция реакций на электронные письма позволяет пользователям отвечать на сообщения электронной почты в увлекательной и удобной форме, используя эмодзи.

Формат

Электронное письмо с реакцией — это обычное письмо в формате MIME, содержащее специальную часть, указывающую на то, что это реакция.

Общий формат сообщения

В теле письма должен быть указан Content-Type: text/vnd.google.email-reaction+json , отформатированный в соответствии с описанием в определении .

Часть тела может быть:

  • Верхняя часть сообщения. Это означает, что заголовок Content-Type электронного письма имеет text/vnd.google.email-reaction+json .
  • Подчасть многокомпонентного MIME-компонента, имеющая Content-Type равный text/vnd.google.email-reaction+json и Content-Disposition , отличный от attachment .

В ответном письме также должны присутствовать стандартные части text/plain и text/html , чтобы почтовые клиенты, не поддерживающие реакции по электронной почте, всё равно отображали ответ. Gmail рекомендует размещать часть text/vnd.google.email-reaction+json между частями text/plain и text/html . Это связано с тем, что некоторые почтовые клиенты всегда отображают последнюю часть, независимо от того, понимают ли они её MIME-тип. Аналогично, некоторые почтовые клиенты отображают только первую часть.

В электронном письме также должен быть заголовок In-Reply-To содержащий идентификатор сообщения, к которому относится реакция. Это должен быть один идентификатор сообщения.

определение части 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 проверяет поле version . Версия должна быть ровно 1. Это должно быть целое число; оно не может быть строкой. По мере развития формата могут приниматься и другие версии. Если версия неизвестна или отсутствует, Gmail считает эту часть недействительной.

  3. Gmail проверяет поле emoji . Содержимое должно точно соответствовать одному из эмодзи, указанных в версии 15 или выше технического стандарта Unicode 51 , включая любые упомянутые расширения, такие как тон кожи. По мере развития стандарта эмодзи Gmail обязуется поддерживать как минимум последнюю версию, за исключением...

    1. Gmail, вероятно, поддерживает последнюю версию, за исключением окна, необходимого для внедрения любого нового стандарта. Если поле отсутствует, пустое или содержит не ровно один эмодзи, Gmail считает эту часть недействительной.

Отображать

Для сообщений с допустимыми частями реакции Gmail отображает эмодзи в поле emoji рядом с сообщением, указанным в заголовке In-Reply-To . Это также может включать количество полученных реакций с этим эмодзи; может также отображаться отправитель реакции или другие элементы пользовательского интерфейса. Если заголовок In-Reply-To отсутствует или сообщение с указанным ID не найдено в цепочке переписки, Gmail отображает сообщение с реакцией как обычное электронное письмо. Gmail может не найти сообщение, если пользователь его удалил, цепочка слишком длинная или по другим причинам.

При отображении некорректных сообщений-реакций Gmail показывает часть text/html , если она существует. В противном случае используется часть text/plain . Если в теле сообщения отсутствует какая-либо из этих частей, Gmail отображает пустое сообщение.

Пределы

Gmail рекомендует пользователям, желающим поддерживать реакции на электронные письма, устанавливать ограничения, чтобы предотвратить чрезмерное количество реакций. В частности:

  • Сообщения из списков рассылки не должны подпитывать негативные реакции.
  • Сообщения со слишком большим количеством получателей не должны поддерживать реакции (например, более 20 различных получателей в объединенных полях To и CC ).
  • Сообщения, в которых получатель не указан в полях To или CC , не должны поддерживать реакции.
  • Сообщения, которые уже имеют много реакций, не должны поддерживать поддержку реакций (например, более 20 реакций на одно сообщение от одного пользователя).

Эти и другие ограничения также описаны в разделе «Невозможно отправить реакции в виде эмодзи» в руководстве «Ответы на электронные письма с реакциями в виде эмодзи ».