الميزات

نظرة عامة على الميزة

Aspose.Email FOSS للـ C++ يوفر واجهة برمجة تطبيقات طبقية للعمل مع ملفات Outlook MSG و حاويات Compound File Binary (CFB). المكتبة تحتوي على 26 فئة عامة عبر نظامين فرعيين: CFB و MSG/MAPI.


وصول حاوية CFB

يقرأ نظام CFB الفرعي ويكتب تنسيق Microsoft Compound File Binary — تنسيق الحاوية الأساسي لملفات Outlook .msg.

الفئةالغرض
cfb_readerفتح وتصفح ملفات CFB الموجودة
cfb_writerتحويل مستندات CFB إلى بايتات أو ملفات
cfb_documentتمثيل ملف CFB في الذاكرة
cfb_nodeعقدة تخزين أو تدفق فردية في شجرة الدليل
cfb_storageإدخال تخزين مسمى
cfb_streamتدفق مسمى يحتوي على بيانات ثنائية

العمليات الأساسية:

  • فتح من ملف أو تدفق أو بايتات: cfb_reader::from_file(), cfb_reader::from_stream(), cfb_reader::from_bytes(), cfb_reader::from_buffer()
  • تعداد المحتويات: storage_ids(), stream_ids(), child_ids(), directory_entry_count()
  • التنقل حسب المسار: find_child_by_name(), resolve_path()
  • فحص العقد: cfb_node::is_storage(), cfb_node::is_stream(), creation_time(), modified_time()
  • كتابة الحاويات: cfb_writer::to_bytes(), cfb_writer::write_file(), cfb_writer::write_stream()

قراءة وكتابة ملف MSG

يتعامل نظام MSG الفرعي مع تنسيق رسائل Outlook فوق CFB.

الفئةالغرض
msg_readerفتح وتحليل ملفات MSG
msg_writerتسلسل مستندات MSG
msg_documentتمثيل في الذاكرة لملف MSG

العمليات الأساسية:

  • فتح ملفات MSG: msg_reader::from_file(), msg_reader::from_stream()
  • فحص البيانات الوصفية: msg_document::major_version(), msg_document::minor_version(), msg_document::strict()
  • كتابة ملفات MSG: msg_writer::to_bytes(), msg_writer::write_file(), msg_writer::write_stream()
  • تحويل إلى CFB: msg_document::to_cfb_document() للوصول منخفض المستوى إلى CFB

واجهة برمجة تطبيقات الرسائل MAPI عالية المستوى

توفر الفئة mapi_message واجهة عالية المستوى لإنشاء وقراءة وتحويل رسائل البريد الإلكتروني.

إنشاء الرسائل:

  • mapi_message::create() — بناء رسالة جديدة بالموضوع والنص
  • set_subject()، set_body()، set_html_body() — تعيين محتوى الرسالة
  • set_sender_name()، set_sender_email_address()، set_sender_address_type() — تعيين المرسل
  • set_internet_message_id() — تعيين رأس Message-ID
  • set_message_class() — تعيين فئة رسالة MAPI
  • unicode_strings() / set_unicode_strings() — التحكم في ترميز سلسلة Unicode

جارٍ تحميل الرسائل:

  • mapi_message::from_file() — تحميل من مسار ملف
  • mapi_message::from_stream() — تحميل من تدفق إدخال
  • mapi_message::from_msg_document() — تحميل من msg_document

حفظ الرسائل:

  • save() — تسلسل إلى بايتات أو تدفق أو ملف
  • to_msg_document() — تحويل إلى msg_document للوصول منخفض المستوى

المرفقات:

  • mapi_attachment::from_bytes(), mapi_attachment::from_stream() — تحميل بيانات المرفق
  • mapi_attachment::is_embedded_message() — التحقق مما إذا كان المرفق رسالة MSG مدمجة
  • mapi_attachment::load_data() — تحميل محتوى المرفق بشكل كسول

خصائص MAPI:

  • mapi_property::property_id(), property_type(), property_tag() — تحديد الخاصية
  • mapi_property::set_value(), flags(), set_flags() — معالجة الخاصية
  • mapi_property_collection::remove() — إزالة الخصائص من مجموعة

تحويل EML و MIME

تحويل بين تنسيق Outlook MSG وملف EML القياسي (RFC 5322 / MIME):

  • mapi_message::load_from_eml() — تحليل ملف .eml إلى mapi_message
  • mapi_message::save_to_eml() — تسلسل mapi_message إلى تنسيق EML

يتم الحفاظ على الموضوع والنص والمرسل والمستلمين والمرفقات عبر عمليات النقل المتكررة.


القوائم المعدودة والثوابت

تعدادالغرض
common_message_property_idمعرفات خصائص MAPI القياسية (الموضوع، النص، المرسل، المرفقات)
property_type_codeرموز نوع خصائص MAPI (عدد صحيح، سلسلة، ثنائي، وقت، GUID)
msg_storage_roleأدوار التخزين داخل ملفات MSG (رسالة، مستلم، مرفق)
directory_object_typeأنواع إدخالات دليل CFB (تخزين، تدفق، جذر)
directory_color_flagأعلام ألوان شجرة الأحمر-الأسود لإدخالات دليل CFB
sector_markerقيم القطاعات الخاصة في جداول تخصيص ملفات CFB
 العربية