تقني · إجابة موثَّقة المصادر

MIME: امتدادات بريد الإنترنت متعددة الأغراض

MIME اختصار لـ Multipurpose Internet Mail Extensions، أي امتدادات بريد الإنترنت متعددة الأغراض. وهو معيار يوسّع بروتوكول نقل البريد البسيط (SMTP) الأصلي للسماح بتبادل المحتوى غير النصي، مثل الصور والصوت والفيديو وبيانات التطبيقات، فضلًا عن تنسيقات النص الغني مثل HTML.

كيف يعمل MIME

يعمل MIME بإضافة ترويسات محددة إلى رسالة البريد لإخبار برنامج البريد المستلِم بكيفية التعامل مع النص. وأهم ترويسة هي Content-Type التي تحدد نوع الوسائط للبيانات. فعلى سبيل المثال، يشير text/plain إلى نص بسيط، بينما يشير text/html إلى صفحة ويب منسّقة. وعند إرسال عدة أنواع من المحتوى في رسالة واحدة، تُستخدم الأنواع multipart/mixed أو multipart/alternative لتجميع الأقسام المختلفة معًا.

أهميته للمُرسِلين

يُعد MIME أساسيًا لقابلية تسليم البريد الحديثة وتجربة المستخدم. فبدونه ستقتصر الرسائل على أحرف ASCII ذات 7 بتات، مما يجعل التدويل مستحيلًا ويمنع استخدام المرفقات. وبفضل MIME يستطيع المُرسِلون تقديم نسخة نصية عادية احتياطية إلى جانب نسخة HTML، لضمان أن تكون الرسالة مقروءة بصرف النظر عن إمكانات برنامج بريد المستلِم.

ملاحظات وأخطاء تشغيلية

من الأخطاء الشائعة عدم ضبط charset الصحيح في ترويسة Content-Type، مما يؤدي إلى أحرف مشوّهة أو ما يُعرف بـ mojibake. ومن المشكلات الأخرى تعريفات boundary غير الصحيحة في الرسائل متعددة الأجزاء، مما قد يجعل الرسالة تظهر كشيفرة خام أو يتسبب في فقدان المرفقات. ينبغي للمطوّرين التأكد من ترميز البيانات الثنائية بشكل صحيح باستخدام Base64 لمنع تلفها أثناء المرور عبر مرحِّلات SMTP.

مثال ملموس

تبدو ترويسة MIME النموذجية لرسالة HTML مع مرفق هكذا: Content-Type: multipart/mixed; boundary=boundary_123. وداخل النص، يُعلَّم الجزء الأول بـ Content-Type: text/html; charset=UTF-8 لنص الرسالة، ويُعلَّم الجزء الثاني بـ Content-Type: application/pdf; name=invoice.pdf للملف. يمكنك استخدام SendHQ أو أدواته المجانية (https://sendhq.cc/tools) لتحليل كيفية بناء ترويساتك.

آليات الترميز

لأن SMTP صُمّم للنصوص، يستخدم MIME مخططات ترميز لنقل البيانات الثنائية. وBase64 هي الطريقة الأكثر شيوعًا، إذ تحوّل الملفات الثنائية إلى سلسلة من أحرف ASCII. ويُستخدم ترميز Quoted-Printable للنصوص التي تكاد تكون كلها ASCII لكنها تحتوي بضعة أحرف غير ASCII، فيقلل الحمل الإضافي مقارنةً بـ Base64 مع الحفاظ على التوافق مع أنظمة البريد الأقدم.

أسئلة تطرحها الفرق

هل MIME هو نفسه SMTP؟

لا. SMTP هو البروتوكول المستخدم لنقل البريد من خادم إلى آخر، بينما MIME هو المعيار الذي يحدد تنسيق المحتوى المنقول.

ما نوع MIME المسمى multipart/alternative؟

يُستخدم عندما يُرسل المحتوى نفسه بعدة تنسيقات، مثل النص العادي وHTML، فيتيح لبرنامج البريد اختيار أفضل نسخة للعرض.

لماذا يُستخدم Base64 في MIME؟

يرمّز Base64 البيانات الثنائية إلى نص ASCII، مما يضمن بقاء البيانات سليمة عند مرورها عبر خوادم بريد لا تدعم إلا النص ذي 7 بتات.

هل يمكن استخدام MIME في تطبيقات غير البريد الإلكتروني؟

نعم، يُستخدم نظام أنواع MIME (المعروف الآن باسم Media Types) في أرجاء الويب، بما في ذلك ترويسات HTTP لوصف نوع الملف الذي يجري تنزيله أو رفعه.

المصادر الأساسية