.MSG Outlook Email Message
.msg

Outlook Email Message

ملف MSG يُغلّف رسالة Outlook واحدة داخل حاوية OLE2 Compound Binary — نفس البنية المستخدمة في ملفات .doc و .xls — ويُخزّن نص الرسالة بثلاث صيغ متوازية (نص عادي و HTML و RTF مضغوط) مع خصائص MAPI التي تحمل أعلام المتابعة وأزرار التصويت والفئات و400+ حقل بيانات وصفية لا يستطيع EML تمثيلها.

بنية الصيغة
Header schema
Records structured data
بيانات وصفيةنص1997
بواسطة FileDex
غير قابل للتحويل

ملفات MSG تستخدم صيغة OLE2 Compound Binary مع تدفقات خصائص MAPI التي تحتاج مكتبات COM/MAPI الأصلية لنظام Windows للتحليل الصحيح. لا يوجد مفكّك ترميز للمتصفح لحاويات OLE2، واعتماد الصيغة على 400+ تعريف خاصية MAPI بترميز أنواع معقد يجعل التحويل من جانب العميل غير ممكن.

أسئلة شائعة

كيف أفتح ملف MSG بدون Microsoft Outlook؟

توجد عارضات مجانية لكل منصة. على Windows استخدم MSG Viewer Pro أو Encryptomatic Free MSG Viewer. على macOS استخدم Letter Opener أو Klammer. على Linux حوّل إلى EML أولاً عبر أداة من تبويب CLI ثم افتح في Thunderbird أو أي عميل بريد.

لماذا يظهر نص عربي مشوّه في ملف MSG قديم؟

الملف أُنشئ على الأرجح بـ Outlook 2002 أو أقدم الذي حفظ السلاسل بترميز ANSI 8 بت مرتبط بصفحة أكواد Windows. الأحرف العربية تُدمَّر إلا إذا كان النظام يستخدم إعدادات عربية محلية. Outlook 2007 والأحدث يستخدم Unicode (UTF-16LE) افتراضياً.

هل ملفات MSG آمنة للفتح من مرسلين مجهولين؟

ملفات MSG تحمل مخاطر أمنية عالية. يمكنها تضمين كائنات OLE مع ماكرو وملفات MSG متداخلة تُعتّم الحمولات الخبيثة وأجسام HTML تحتوي نماذج جمع بيانات الاعتماد. افحص ملفات MSG دائماً بمحرك مكافحة فيروسات يدعم OLE2 قبل الفتح.

ما أهمية ملفات MSG في أرشفة البريد المؤسسي بدول الخليج؟

المنظمات الحكومية والمؤسسية في السعودية والإمارات تعتمد بشكل كبير على Exchange وOutlook. الأطر التنظيمية في القطاع المالي تتطلب حفظ البريد بالصيغة الأصلية. MSG يُلبّي هذا المتطلب لرسائل Outlook لأنه التمثيل الأساسي وليس نسخة محوّلة.

ما الفرق بين MSG وPST وMBOX؟

MSG يُخزّن رسالة واحدة بالضبط في حاوية OLE2 ثنائية. PST قاعدة بيانات صندوق بريد Microsoft تحمل آلاف الرسائل والتقويمات وجهات الاتصال. MBOX يُسلسل رسائل نصية متعددة في ملف واحد بفواصل سطرية. MSG للنقل الفردي وPST وMBOX للتخزين الجماعي.

ما يميز .MSG

منذ 1997
نفس حاوية ملفات Word .doc
Outlook 97 قدّم MSG مبنياً على صيغة OLE2 Compound Binary التي شحنتها Microsoft مع Word وExcel منذ 1993. ملف MSG وملف .doc يبدآن بنفس البايتات السحرية الثمانية — D0 CF 11 E0 A1 B1 1A E1 — ويستخدمان نفس بنية التخزين القطاعية.
ثلاثة أجسام
نص عادي وHTML وRTF مضغوط في ملف واحد
كل MSG يحمل نص الرسالة بثلاث صيغ متوازية. نسخة RTF تستخدم ضغط LZFu بنسبة 3:1 إلى 5:1 وغالباً تلف HTML الأصلي داخل غلاف RTF عبر كلمة التحكم \fromhtml1 — تصميم من حقبة كانت فيها خوادم Exchange تعالج RTF فقط بثقة.
معيار الاستكشاف القانوني
الجهات التنظيمية المالية تقبل MSG كدليل بالصيغة الأصلية
SEC Rule 17a-4 وMiFID II يتطلبان حفظ البريد بالصيغة الأصلية. MSG يُلبّي هذا لأنه التمثيل الأساسي في Outlook وليس نسخة محوّلة. منصات المعالجة القانونية مثل Nuix وRelativity تستوعب MSG مباشرةً وتُجزّئ حاوية OLE2 للتحقق من السلامة.
400+ خاصية
أزرار التصويت وأعلام المتابعة والنسخة المخفية تبقى في MSG فقط
نظام خصائص MAPI يُرمّز كل حقل بيانات وصفية كمعرّف 16 بت ونوع 16 بت. PR_VOTING_RESPONSE وPR_FLAG_STATUS وPR_SENSITIVITY وقائمة Bcc مُخزّنة كخصائص أساسية. التحويل إلى EML يُسقط كل خاصية ليس لها مقابل في ترويسات MIME.

اسحب بريداً من Outlook إلى سطح المكتب وستحصل على ملف .msg. هذا الملف ليس تفريغاً نصياً — إنه حاوية OLE2 Compound Binary كاملة، نفس نظام التخزين القطاعي الذي استخدمته Microsoft لملفات Word .doc و Excel .xls و Windows Installer .msi. التوقيع السحري D0 CF 11 E0 A1 B1 1A E1 في البايتات الثمانية الأولى يُعرّف الحاوية، لكنه لا يُعرّف MSG تحديداً — ملف .doc يبدأ بنفس البايتات. ما يميّز MSG هو تخطيط التدفقات الداخلية.

اكتشف التفاصيل التقنية

طبقة حاوية OLE2

صيغة Compound File Binary (CFB) تُقسّم الملف إلى قطاعات بحجم ثابت — 512 بايت في الإصدار 3 و4096 بايت في الإصدار 4. جدول تخصيص الملفات (FAT) يربط القطاعات ببعضها مُشكّلاً تدفقات منطقية. تدفق الدليل يُعيّن أسماء التخزينات والتدفقات إلى قطاعاتها الأولى. هذه البنية تعني أن بريداً بحجم 50 كيلوبايت وآخر بحجم 50 ميغابايت يستخدمان نفس الإطار الهيكلي.

الترويسة بحجم 512 بايت في البداية تحتوي التوقيع السحري وإصدار الصيغة وحجم القطاع كأس قوة 2 (0x09 لـ 512 بايت) وعلامة ترتيب البايت (FE FF دائماً little-endian) ومؤشرات إلى أول قطاع دليل وأول قطاع FAT للتدفق المصغّر.

نظام خصائص MAPI

كل خاصية بريد في MSG مُعرّفة بقيمتين 16 بت: معرّف الخاصية ونوعها. المعرّف 0x0037 للموضوع و0x1000 لنص الرسالة و0x1013 لمحتوى HTML و0x0C1F لعنوان المرسل. النوع يُحدد شكل البيانات — 0x001F لسلسلة Unicode و0x0102 للبيانات الثنائية و0x0040 لطابع FILETIME.

الخصائص ذات الطول الثابت (أعداد صحيحة، قيم منطقية، طوابع زمنية) مُعبّأة في تدفق __properties_version1.0 كإدخالات بحجم 16 بايت. الخصائص متغيرة الطول (سلاسل نصية، كتل ثنائية) تحصل على تدفقاتها الخاصة بتسمية __substg1.0_{propID}{propType}.

أكثر من 400 خاصية MAPI معيارية مُعرّفة في مواصفة MS-OXPROPS. ملفات MSG تحمل عادةً 50 إلى 150 منها لكل رسالة.

ثلاثة أجسام في ملف واحد

Outlook يُخزّن نص الرسالة بثلاث صيغ متوازية: نص عادي في PR_BODY و HTML في PR_BODY_HTML و RTF مضغوط في PR_RTF_COMPRESSED. تدفق RTF يستخدم خوارزمية LZFu للضغط بنسبة 3:1 إلى 5:1. هذا التصميم الثلاثي موجود لأن مسارات عرض Outlook المختلفة كانت تستهلك صيغاً مختلفة تاريخياً.

المستلمون والمرفقات كتخزينات فرعية

المستلمون مُخزّنون في تخزينات فرعية مُرقّمة: __recip_version1.0_#00000000 للمستلم الأول وهكذا. كل تخزين مستلم يحتوي خصائص PR_DISPLAY_NAME و PR_EMAIL_ADDRESS و PR_RECIPIENT_TYPE (1 للمُرسل إليه، 2 للنسخة، 3 للنسخة المخفية).

المرفقات تتبع نفس النمط: __attach_version1.0_#00000000 وما يليها. عندما يكون المرفق بريداً آخر — رسالة مُحوّلة أو .msg مُرفق — يحتوي التخزين الفرعي بنية MSG كاملة متداخلة مع مستلميها وخصائصها.

Unicode مقابل ANSI

Outlook 97 إلى 2002 أنشأ ملفات ANSI MSG. السلاسل استخدمت ترميز 8 بت مرتبط بصفحة أكواد النظام. هذا سبّب تلف الأحرف العربية على أنظمة Windows بإعدادات غربية. Outlook 2003 قدّم دعم Unicode (UTF-16LE) وOutlook 2007 جعله الافتراضي.

MSG في الاستكشاف القانوني

أدوات eDiscovery تتعامل مع MSG كدليل أساسي لأنها تحفظ الرسالة الأصلية بجميع البيانات الوصفية — الطوابع الزمنية وحالة القراءة وأعلام الأهمية وقائمة المستلمين الكاملة بما في ذلك Bcc التي تُحذف من EML المُسلّم. الأطر التنظيمية في القطاع المالي السعودي والإماراتي تتطلب حفظ البريد بالصيغة الأصلية — MSG يُلبّي هذا المتطلب لرسائل Outlook.

السطح الأمني

ملفات MSG تحمل مخاطر أمنية عالية لقدرتها على تضمين كائنات OLE مع ماكرو وملفات MSG متداخلة تُنشئ طبقات تعتيم متعددة. CVE-2025-21298 أظهرت ثغرة double-free في Windows OLE تسمح بتنفيذ تعليمات برمجية عن بُعد عند معاينة RTF. بوابات أمان البريد المصممة لفحص رسائل MIME قد تتعامل مع مرفقات MSG ككتل ثنائية مبهمة دون فحص بنية OLE2 الداخلية.

مقارنة .MSG مع البدائل

مقارنة .MSG مع الصيغ البديلة
المقارنة المعيار الفائز
.MSG vs .EML
التوافق عبر المنصات
EML يتبع RFC 5322 وهو معيار IETF مفتوح تقرأه Thunderbird وApple Mail وGmail وأي محرر نصوص. MSG يحتاج Microsoft Outlook أو مكتبات تحليل OLE2 متخصصة — لا يمكن فتحه في أي عميل بريد غير Microsoft بدون تحويل.
EML أفضل
.MSG vs .EML
حفظ بيانات Outlook الوصفية
MSG يحفظ جميع خصائص MAPI الـ 400+ بما في ذلك أزرار التصويت وأعلام المتابعة والفئات وبيانات النماذج المخصصة ومستلمي Bcc. EML يُعيّن ترويسات MIME القياسية فقط — ميزات Outlook تُفقد نهائياً عند التحويل.
MSG أفضل
.MSG vs .PST
قابلية نقل الرسالة الواحدة
MSG يُخزّن رسالة واحدة بالضبط لكل ملف مما يجعله قابلاً للمشاركة كمرفق. PST قاعدة بيانات صندوق بريد (بنية B-tree بحجم يصل إلى 50 غيغابايت) مُصمّمة لتخزين آلاف الرسائل والتقويمات وجهات الاتصال.
MSG أفضل
.MSG vs .MBOX
سلامة الأدلة الجنائية للاستكشاف القانوني
ملفات MSG حاويات OLE2 مستقلة حيث تُنتج عملية SHA-256 بصمة فريدة لكل رسالة. MBOX يُسلسل رسائل متعددة في ملف نصي واحد بفواصل 'From ' — لا يمكن التحقق من سلامة رسالة واحدة بدون تقسيم الملف أولاً.
MSG أفضل

المرجع التقني

نوع MIME
application/vnd.ms-outlook
Magic Bytes
D0 CF 11 E0 A1 B1 1A E1 OLE2 Compound Binary File header.
المطوّر
Microsoft
سنة التقديم
1997
معيار مفتوح
لا
00000000D0CF11E0A1B11AE1 ........

OLE2 Compound Binary File header.

البنية الثنائية

ملفات MSG تستخدم صيغة OLE2 Compound File Binary. يبدأ الملف بترويسة 512 بايت تحتوي التوقيع السحري D0 CF 11 E0 A1 B1 1A E1 يليها جدول FAT لإدارة سلاسل القطاعات. تدفق الدليل يحتوي إدخالات للتخزين الجذر والتخزينات الفرعية. خصائص البريد مُخزّنة في تدفقات MAPI (__properties_version1.0) مع محتوى النص في تدفقات __substg1.0_* والمستلمين في __recip_version1.0_# والمرفقات في __attach_version1.0_#.

OffsetLengthFieldExampleDescription
0x00 8 بايت الرقم السحري D0 CF 11 E0 A1 B1 1A E1 توقيع OLE2 Compound Binary — مُشترك مع .doc و .xls و .ppt و .msi. لا يُعرّف MSG تحديداً بل تخطيط التدفقات الداخلية يُحدد نوع الملف.
0x08 16 بايت CLSID 00 00 00 00 ... معرّف الفئة للتخزين الجذر. عادةً أصفار لملفات MSG — بعض إصدارات Outlook تكتب GUID غير صفري.
0x1A 2 بايت الإصدار الرئيسي 03 00 الإصدار الرئيسي: 3 = قطاعات 512 بايت، 4 = قطاعات 4096 بايت. معظم ملفات MSG تستخدم الإصدار 3.
0x1C 2 بايت ترتيب البايت FE FF علامة ترتيب البايت — FE FF تُشير إلى little-endian. جميع ملفات CFB بترتيب little-endian.
0x1E 2 بايت أس حجم القطاع 09 00 حجم القطاع كأس قوة 2: 0x09 = 512 بايت (إصدار 3)، 0x0C = 4096 بايت (إصدار 4).
1993Microsoft تشحن صيغة OLE2 Compound Binary File مع Office 4.0 — تقنية الحاوية التي سيتبناها MSG لاحقاً1997Outlook 97 يُقدّم MSG كصيغته الأصلية لحفظ البريد مُخزّناً الرسائل في حاويات OLE2 مع تدفقات خصائص MAPI2003Outlook 2003 يضيف دعم Unicode MSG إلى جانب صيغة ANSI الأصلية مما يُصلح تلف الأحرف العربية والصينية والكورية2007Outlook 2007 يجعل Unicode MSG الافتراضي لجميع عمليات الحفظ الجديدة2008Microsoft تنشر أول إصدار من مواصفة MS-OXMSG المفتوحة موثّقةً صيغة MSG علنياً لأول مرة2016Outlook لـ Mac يكتسب دعم قراءة MSG الأصلي مُنهياً قيد macOS الذي كان يتطلب أدوات طرف ثالث2025مواصفة MS-OXMSG تصل إلى المراجعة 18.0 مستمرةً في توثيق بنية MSG للتوافقية مع التطبيقات غير Microsoft
تحويل MSG إلى صيغة EML أخرى
msgconvert message.msg

يُحوّل ملف MSG الاحتكاري إلى صيغة EML المفتوحة وفق RFC 5322. خصائص MAPI الخاصة بـ Outlook مثل أزرار التصويت وأعلام المتابعة تُفقد لعدم وجود مكافئ لها في ترويسات MIME.

استخراج نص ومرفقات MSG أخرى
python3 -c "import extract_msg; m=extract_msg.Message('mail.msg'); m.save()"

يُحلل حاوية OLE2 ويقرأ تدفقات خصائص MAPI ويحفظ النص العادي ومحتوى HTML وجميع المرفقات على القرص في مجلد يُسمّى بعنوان الموضوع.

قراءة خصائص MAPI من MSG أخرى
python3 -c "import extract_msg; m=extract_msg.Message('mail.msg'); print(m.subject, m.date, m.sender)"

يقرأ تدفق __properties_version1.0 وتدفقات __substg1.0_* لاستخراج خصائص MAPI محددة: معرّف 0x0037 للموضوع و0x0E06 لوقت التسليم و0x0C1F لعنوان المرسل.

عرض شجرة دليل OLE2 لملف MSG أخرى
python3 -c "import olefile; ole=olefile.OleFileIO('mail.msg'); ole.dumpdirectory()"

يسرد جميع التخزينات والتدفقات داخل حاوية OLE2 — يكشف إدخالات __recip (المستلمون) و__attach (المرفقات) وتدفقات __substg1.0_* (النص والموضوع والترويسات).

عالي

نقاط الضعف

  • كائنات OLE المُضمّنة تحتوي ماكرو وملفات تنفيذية وعناصر ActiveX تعمل عند فتح MSG في Outlook أو عارضات متوافقة مع OLE
  • جسم HTML قد يتضمن روابط تصيّد وبكسلات تتبع وصفحات جمع بيانات اعتماد تُعرض في متصفح Outlook المُضمّن
  • مرفقات MSG متداخلة تُنشئ طبقات تعتيم متعددة — MSG داخل MSG قد يتجاوز فحص بوابات أمان البريد التي تفحص مستوى واحداً فقط
  • بنى OLE2 مُصطنعة تستغل ثغرات تحليل: CVE-2025-21298 (تنفيذ تعليمات عن بُعد عبر double-free في OLE) وCVE-2023-36563 (تسريب بيانات NTLM) وCVE-2017-0199 (تنفيذ HTA عن بُعد)
  • ملفات MSG تتجاوز بوابات أمان البريد المبنية على MIME لأن حاوية OLE2 الثنائية تتطلب تحليلاً متخصصاً لا تُنفّذه كثير من البوابات

الحماية: FileDex لا يفتح أو يُنفّذ أو يُحلل ملفات MSG. هذه صفحة مرجعية فقط. لا تفتح ملفات MSG من مصادر غير موثوقة بدون فحصها بمحرك مكافحة فيروسات يدعم تحليل OLE2.

extract-msg مكتبة
مكتبة Python لتحليل ملفات MSG بدون Outlook — تستخرج النص والترويسات والمستلمين والمرفقات بقراءة تدفقات OLE2 وخصائص MAPI مباشرةً
olefile مكتبة
مكتبة Python لقراءة وكتابة ملفات OLE2 Compound Binary — توفر وصولاً منخفض المستوى لجدول القطاعات وإدخالات الدليل والتدفقات الخام داخل MSG وDOC وXLS
msgconvert أداة
محوّل سطر أوامر Perl يُحوّل ملفات MSG إلى صيغة EML بربط خصائص MAPI بترويسات MIME على Linux وmacOS
عميل البريد الوحيد الذي يُنشئ ويعرض MSG بالكامل مع دعم كامل لخصائص MAPI وعرض كائنات OLE وجسم RTF
Nuix أداة
منصة استكشاف قانوني مؤسسي تستوعب MSG على نطاق واسع وتفهرس خصائص MAPI للبحث متعدد الأوجه عبر ملايين الرسائل