تكون معظم رسائل البريد الإلكتروني المرسلة اليوم بتنسيق MIME (ملحقات بريد إنترنت متعددة الوظائف). يتيح ذلك إرسال رسائل البريد الإلكتروني مع نص عادي وإصدارات نصية / HTML وصور مضمنة ومرفقات. يمكن إضافة امتدادات MIME إلى رسالة بتنسيق قياسي RFC / 822 بحيث يتحقق التوافق مع الإصدارات السابقة مع أنظمة البريد الأقدم.
الخطوة 1
قم بتحميل محتويات رسالة البريد الإلكتروني.
فيديو اليوم
الخطوة 2
تحقق من رأس "نوع المحتوى". إذا كان نوع المحتوى متعدد الأجزاء (مثل "متعدد الأجزاء / مختلط" ، "متعدد الأجزاء / بديل" ، إلخ) ، فستتضمن الرسالة أقسامًا متعددة لتحليلها. إذا كان نوع المحتوى متعدد الأجزاء ، فتابع بالخطوات التالية.
الخطوه 3
يجب أن يحتوي رأس نوع المحتوى على سلسلة فريدة مستخدمة بواسطة الكود الذي أنشأ رسالة MIME لتعيين حدود جزء MIME. مثال:
نوع المحتوى: متعدد الأجزاء / مختلط ؛ الحدود = "part_c7161025_fe8a_45f4_83ef_6befcfa5d021"
سلسلة الحدود في هذه الحالة هي "part_c7161025_fe8a_45f4_83ef_6befcfa5d021".
الخطوة 4
سيتم فصل كل جزء من أجزاء MIME بسلسلة الحدود مسبوقة بشرطتين ("-") على سطر فارغ. ستحتاج إلى مسح سطر الرسالة بسطر للبحث عن حدود الجزء. كل النص بين الحدود
باستثناء CR / LF النهائي وهو جزء من جزء MIME هذا.هام: سينتهي جزء MIME الأخير بسلسلة الحدود متبوعة بشرطتين إضافيتين.
مثال:
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 الجزء الأول MIME.
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 جزء MIME الثاني
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 آخر جزء MIME.
- part_c7161025_fe8a_45f4_83ef_6befcfa5d021--
الخطوة الخامسة
كل جزء MIME يحتاج بعد ذلك إلى التحليل. تنسيق كل جزء MIME مشابه للرسالة الأصلية المنسقة RFC / 822. سيحتوي على سلسلة من الرؤوس ، متبوعة بسطر فارغ ، ثم بيانات الجسم.
الخطوة 6
يمكن أن يكون جزء MIME نفسه متعدد الأجزاء ، مع رأس "نوع المحتوى" وسلسلة الحدود الخاصة به. يجب أن تقوم التعليمات البرمجية الخاصة بك بتحليل أجزاء MIME بشكل متكرر حتى تصل إلى العقد الفرعية.
الخطوة 7
يمكن أن يكون جزء MIME مجرد مرفق ثنائي. في هذه الحالة ، عادةً ما يتم توفير رأس اسم الملف ، جنبًا إلى جنب مع تشفير النقل. BASE64 هو نوع ترميز شائع. في هذه الحالة ، يجب فك شفرة BASE64 لكامل جزء MIME. كمثال فيما يلي الأسطر القليلة الأولى من صورة JPG مرفقة:
=NextPart_003_01C755EF.43F2628D نوع المحتوى: image / jpeg؛ name = "testimage.jpg" ترميز نقل المحتوى: base64 وصف المحتوى: testimage.jpg Content-Disposition: attachment؛ اسم الملف = "testimage.jpg"
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL / 2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIjIMyQIMyMjIjIjIMyQIMjI AhEBAxEB / 8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL / 8QAtRAAgEDAwIEAwUFBAQA
الخطوة 8
يجب أن يكون نص HTML للرسالة في قسم MIME مع ContentType: Text / Html ، داخل ContentType: Multipart / Alternative MIME section.
الخطوة 9
يجب أن يكون نص الرسالة العادي في قسم MIME مع نوع المحتوى: نص / عادي ، داخل ContentType: قسم MIME متعدد الأجزاء / البديل.
الأشياء ستحتاج
معرفة لغة الكمبيوتر (مثل C ++ ، C # ، VB ، إلخ).
المعرفة الأساسية بتنسيق رسالة بريد إلكتروني منسقة RFC / 822.
نصيحة
استشر RFC 822 http://www.ietf.org/rfc/rfc0822.txt? العدد = 822 و RFC 1341 http://www.ietf.org/rfc/rfc1341.txt? العدد = 1341 للمزيد من المعلومات. إذا كنت تقوم بالتشفير في C # ، فستتوفر مكتبة مجانية ممتازة على http://www.codeproject.com/csharp/mime_project.asp.