واکنشهای ایمیلی به کاربران اجازه میدهد تا با استفاده از ایموجی، به روشی سرگرمکننده و بدون دردسر به پیامهای ایمیل پاسخ دهند.
قالب
یک واکنش ایمیلی، یک ایمیل معمولی با فرمت 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 معمولی باشد تا کلاینتهای ایمیلی که از واکنشهای ایمیل پشتیبانی نمیکنند، همچنان پاسخی را نمایش دهند. جیمیل توصیه میکند بخش 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: رشتهای که دقیقاً نشاندهنده یک نماد ایموجی است، همانطور که توسط استاندارد فنی یونیکد ۵۱ تعریف شده است.
اگر Content-Transfer-Encoding یک فرمت دودویی (binary) باشد، آنگاه JSON باید از کدگذاری کاراکتر UTF-8 استفاده کند. در غیر این صورت، کدگذاری انتقال محتوا ( Content-Transfer-Encoding میتواند هر کدگذاری استانداردی باشد.
تفسیر جیمیل از text/vnd.google.email-reaction+json
وقتی جیمیل پیامی دریافت میکند که شبیه یک واکنش است، بخش واکنش را اعتبارسنجی میکند و نحوهی نمایش خاصی را برای آن پیام اعمال میکند.
اعتبارسنجی
جیمیل تمام پیامهایی را که بخش text/vnd.google.email-reaction+json آنها را دریافت میکند، اعتبارسنجی میکند. اگر این بخش ناقص باشد، نامعتبر تلقی میشود و پیام به عنوان یک واکنش در نظر گرفته نمیشود .
به طور خاص:
جیمیل فایل JSON را تجزیه و اعتبار آن را بررسی میکند. اگر JSON ناقص باشد، جیمیل آن بخش را نامعتبر میداند.
جیمیل فیلد
versionرا بررسی میکند. نسخه باید دقیقاً ۱ باشد. باید یک عدد صحیح باشد؛ نمیتواند یک رشته باشد. با تغییر قالب، ممکن است نسخههای دیگر پذیرفته شوند. اگر نسخه ناشناخته یا مفقود باشد، جیمیل آن بخش را نامعتبر میداند.جیمیل فیلد
emojiرا بررسی میکند. محتوا باید دقیقاً یکی از ایموجیهای مشخصشده توسط نسخه ۱۵ یا بالاتر از استاندارد فنی یونیکد ۵۱ باشد، از جمله هرگونه افزونه ارجاعشده، مانند رنگ پوست. با تکامل استاندارد ایموجی، جیمیل متعهد میشود که حداقل از آخرین نسخه منهای ... پشتیبانی کند.- احتمالاً جیمیل از آخرین نسخه پشتیبانی میکند، به جز پنجرهای که برای پیادهسازی هر استاندارد تازه منتشر شده لازم است. اگر فیلد وجود نداشته باشد، خالی باشد یا دقیقاً شامل یک ایموجی نباشد، جیمیل آن بخش را نامعتبر میداند.
نمایش
برای پیامهایی که بخشهای واکنش ایمیل معتبری دارند، جیمیل ایموجی را در فیلد emoji نزدیک به پیامی که توسط سربرگ In-Reply-To مشخص شده است، نمایش میدهد. این ممکن است شامل تعداد واکنشهای دریافت شده با آن ایموجی نیز باشد؛ همچنین ممکن است فرستنده آن واکنش یا سایر ویژگیهای رابط کاربری را نشان دهد. اگر سربرگ In-Reply-To وجود نداشته باشد یا پیامی با شناسه داده شده در رشته مکالمه پیدا نشود، جیمیل پیام واکنش را به عنوان یک ایمیل معمولی نمایش میدهد. اگر کاربر پیام را حذف کرده باشد، رشته مکالمه خیلی طولانی باشد یا به دلایل دیگر، جیمیل ممکن است پیام را پیدا نکند.
هنگام نمایش پیامهای واکنش به ایمیلهای نامعتبر، جیمیل در صورت وجود، بخش text/html را نمایش میدهد. در غیر این صورت، از بخش text/plain استفاده میکند. اگر هیچ بخشی از بدنه با هیچ یک از این دو وجود نداشته باشد، جیمیل یک پیام خالی نمایش میدهد.
محدودیتها
جیمیل به مشتریانی که به دنبال پشتیبانی از واکنشهای ایمیلی هستند، توصیه میکند محدودیتهایی را برای جلوگیری از واکنشهای بیش از حد کاربران اعمال کنند. به ویژه:
- پیامهای دریافتی از فهرستهای پستی نباید واکنشها را پشتیبانی کنند.
- پیامهایی که تعداد گیرندگانشان خیلی زیاد است، نباید از قابلیت واکنش پشتیبانی کنند (مثلاً بیش از ۲۰ گیرندهی مجزا در فیلدهای ترکیبی
ToوCC). - پیامهایی که نام گیرنده در فیلدهای
ToیاCCنیست، نباید از قابلیت واکنش پشتیبانی کنند. - پیامهایی که از قبل واکنشهای زیادی داشتهاند، نباید از قابلیت واکنش پشتیبانی کنند (مثلاً بیش از ۲۰ واکنش برای هر کاربر برای هر پیام).
این محدودیتها و محدودیتهای دیگر نیز در بخش «عدم امکان ارسال واکنشهای ایموجی» از بخش «پاسخ به ایمیلها با واکنشهای ایموجی » شرح داده شدهاند.