بروتوكول امتدادات البريد المتعدد الأغراض (MIME)

فهم رؤوس MIME

تحتوي رؤوس MIME على معلومات حول البروتوكول.

MIME-Version

هذا يشير إلى أن الرسالة مُنسقة بتنسيق MIME. تظهر كالتالي:

MIME-Version: 1.0

Content-Type

هذا يشير إلى نوع محتوى الرسالة، المُمَثل كزوج من النوع والنوع الفرعي: text/plain، text/html، على سبيل المثال. يمكن لأنواع multipart احتواء نص، HTML، مرفقات، صور، صوت، فيديو، وما إلى ذلك.

Content-Type: multipart

Content-Transfer-Encoding

يشير إلى ما إذا تم استخدام مخطط ترميز من ثنائي إلى نص فوق الترميز المحدد في content-type. إذا كان كذلك، يذكر أي منه. يمكننا تحديد نوع الترميز 7-bit أو 8-bit أو binary هنا.

Encoded-Word

عادةً ما تستخدم رؤوس رسائل SMTP أحرف ASCII. يجب أن تستخدم الأحرف غير ASCII صيغة كلمة مُشفرة MIME بدلاً من السلسلة الحرفية. الصيغة هي:

"=? charset ? encoding ? encoded text ?=".

رسائل Multipart

تحتوي رسالة MIME متعددة الأجزاء على حد (boundary) في رأس content-type. هذا الحد، الذي يجب ألا يظهر في أي من الأجزاء، يُوضع بين الأجزاء، وفي بداية ونهاية جسم الرسالة، كما يلي:

MIME-version: 1.0


 Content-type: multipart/mixed; boundary="frontier"

This is a multi-part message in MIME format.

--frontier

Content-type: text/plain

This is the body of the message.

--frontier

Content-type: application/octet-stream

Content-transfer-encoding: base64

PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg

Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==

--frontier--

كل جزء يتكون من رأس محتوى خاص به وجسم.

أنواع Multipart الفرعية

يحدد معيار MIME أنواعًا فرعية مختلفة للرسائل المتعددة الأجزاء. يتم تحديد النوع الفرعي في رأس "Content-Type" للرسالة العامة.

فيما يلي قائمة بأكثر الأنواع الفرعية استخدامًا.

  • Mixed: يُستخدم Multipart/mixed لإرسال ملفات ذات رؤوس "Content-Type" مختلفة ضمن الرسالة. إذا تم إرسال صور أو ملفات قابلة للقراءة بسهولة، فإن معظم عملاء البريد سيعرضونها ضمن الرسالة.
  • Message: جزء الرسالة يحتوي على رسالة بريد إلكتروني.
  • Digest: الـ digest هو طريقة بسيطة لإرسال رسائل نصية متعددة. النوع الافتراضي للجزء هو "message/rfc822".
  • Alternative: النوع البديل يُشير إلى أن كل جزء هو نسخة "بديلة" من نفس المحتوى (أو مشابه)، كلٌ بتنسيق مختلف يُحدد بواسطة رأس "Content-Type".

غالبًا ما يُستخدم multipart/alternative للبريد الذي يحتوي على جزأين، جزء نص عادي (text/plain) وآخر HTML (text/html). يوفر الجزء النصي توافقًا رجعيًا بينما يسمح جزء HTML باستخدام التنسيق والروابط التشعبية. معظم عملاء البريد يقدمون خيارًا للمستخدم لتفضيل النص العادي على HTML؛ هذا مثال على كيف يمكن لعوامل محلية أن تؤثر على اختيار التطبيق للجزء "الأفضل" من الرسالة للعرض.