كيف تعمل البدائل
محرك البدائل هو قلب MailInApp. وُجد لأن تطبيقات البريد تختلف في كل شيء: بعضها يعرض CSS الحديث، وبعضها يحذف وسوم <style>، ويعرض Outlook الكلاسيكي الرسائل بمحرك Microsoft Word. وبدلًا من التصميم وفق القاسم المشترك الأدنى، تصمّم مرة واحدة — ويحوّل المحرك كل عنصر إلى ثلاثة مستويات.
المستويات الثلاثة
المستوى 1 — الحركي
تفاعلية CSS كاملة: عروض دوّارة تنزلق، وقوائم قابلة للطي تتوسّع، وعناصر كشف متحرّكة. تُبنى الشيفرة الحركية على آلات حالة في CSS — مربعات اختيار وأزرار راديو مخفية تتحكّم حالة :checked فيها بما يظهر — لأن هذا هو نوع التفاعلية الذي تدعمه تطبيقات البريد فعلًا. لا يُستخدم JavaScript أبدًا؛ فكل تطبيقات البريد تحذفه.
يصل العرض الحركي إلى Gmail (على الويب وتطبيقات الهاتف)، وApple Mail، وYahoo Mail، وSamsung Mail — أي الغالبية العظمى من صناديق البريد الوارد لدى المستهلكين.
المستوى 2 — الثابت
تحذف بعض التطبيقات عناصر <style> بالكامل (ويُسقطها Gmail من الرسائل المقتطعة). ولهذه التطبيقات، يتحوّل كل عنصر إلى محتوى نظيف مرتّب عموديًا مع رابط دعوة إلى إجراء — للتصويت، أو لفتح المعرض، أو لإرسال النموذج — يشير إلى العرض المباشر المستضاف. تعمل الروابط العادية في 100% من تطبيقات البريد، ما يجعل هذا المستوى شاملًا.
المستوى 3 — Outlook
يعرض Outlook الكلاسيكي على Windows الرسائل بمحرك Word، الذي لا يدعم CSS الحركي ولا معظم التخطيطات الحديثة. لذلك يُصدر المحرك نسخة مخصّصة قائمة على الجداول من كل عنصر داخل تعليقات Outlook الشرطية — وهي شيفرة لا يراها إلا محرك Word. ويحصل المستلمون على Outlook الكلاسيكي على رسالة نظيفة ومقصودة، لا رسالة معطوبة أبدًا.
رسالة واحدة لكل بريد وارد
تُشحن المستويات الثلاثة كلها داخل ملف HTML نفسه. أما المستوى الذي يراه المستلم فتحدّده قواعد العرض الخاصة بتطبيقه، لا آلية هشّة لاكتشاف نوع التطبيق:
- التطبيقات التي تدعم CSS الحركي تعرض المستوى 1 وتُخفي النسخة الثابتة؛
- التطبيقات التي تحذف الأنماط تعرض المستوى 2 تلقائيًا؛
- محرك Word لا يرى إلا المستوى 3، عبر التعليقات الشرطية.
التفاعل يتبع الفلسفة نفسها
تعتمد العناصر التي تجمع البيانات (الاستطلاعات، والتقييمات، والنماذج) افتراضيًا على التفاعل القائم على الروابط — فكل خيار رابط عادي يسجّل الرد — لأن الروابط هي العنصر الأساسي الوحيد الذي يعمل في كل مكان. ويُضاف إرسال النماذج داخل الرسالة فوق ذلك كتحسين تدريجي في التطبيقات التي تدعمه. التفاصيل في التفاعلات والتحليلات.
ما يرفض المحرك فعله
جزء من مهمة المحرك هو قول «لا». فالتقنيات ذات الدعم الضعيف أو غير المتّسق — JavaScript، والفيديو المضمّن، وعناصر <details>، ومتغيرات CSS — لا تُستخدم أبدًا، مهما بدا العرض التوضيحي مغريًا. وإذا لم تكن التقنية قادرة على التراجع بسلاسة، فلن تُطرح. الصورة الكاملة للدعم في دعم تطبيقات البريد.
ويحظى AMP للبريد الإلكتروني بتوضيح صريح خاص به، لا مجرد ذكر في تلك القائمة: فهو مفاضلة مقصودة، لا ميزة ناقصة. راجع لماذا لا نستخدم AMP للبريد الإلكتروني؟