Функция реакций на электронные письма позволяет пользователям отвечать на сообщения электронной почты в увлекательной и удобной форме, используя эмодзи.
Формат
Электронное письмо с реакцией — это обычное письмо в формате 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 . Если этот фрагмент имеет некорректный формат, сообщение считается недействительным и не рассматривается как реакция.
В частности:
Gmail анализирует JSON-данные и проверяет их корректность. Если JSON-данные имеют некорректный формат, Gmail считает соответствующую часть недействительной.
Gmail проверяет поле
version. Версия должна быть ровно 1. Это должно быть целое число; оно не может быть строкой. По мере развития формата могут приниматься и другие версии. Если версия неизвестна или отсутствует, Gmail считает эту часть недействительной.Gmail проверяет поле
emoji. Содержимое должно точно соответствовать одному из эмодзи, указанных в версии 15 или выше технического стандарта Unicode 51 , включая любые упомянутые расширения, такие как тон кожи. По мере развития стандарта эмодзи Gmail обязуется поддерживать как минимум последнюю версию, за исключением...- 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 реакций на одно сообщение от одного пользователя).
Эти и другие ограничения также описаны в разделе «Невозможно отправить реакции в виде эмодзи» в руководстве «Ответы на электронные письма с реакциями в виде эмодзи ».