1. المنتجات
  2.   Aspose.Email
  3.   Aspose.Email FOSS for C++

Aspose.Email FOSS for C++

قراءة وإنشاء ومعالجة ملفات Outlook MSG وحاويات CFB من C++ — مجانية ومفتوحة المصدر، بدون اعتماد على Microsoft Outlook.

مكتبة مصدر مفتوح C ++ لملفات MSG و CFB

Aspose.Email FOSS for C++ هي مكتبة مصدر مفتوحة من MIT للعمل مع ملفات Microsoft Outlook .msg وحاويات Compound File Binary (CFB). تضمين الرؤوس عبر CMake وتبدأ على الفور في قراءة وإنشاء ومعالجة رسائل البريد الإلكتروني دون تثبيت Microsoft Outlook أو أي وقت تشغيل خاص.

توفر المكتبة مستويين من الوصول. في المستوى المنخفض ، cfb_reader و cfb_writer يعطي السيطرة الكاملة على حاويات CFB الثنائية إدخالات الدليل العابرة ، وقراءة وكتابة عقد التخزين والبيانات المتدفقة ، وتفتيش تخطيط القطاع الخام. msg_readerوmsg_writer تتعامل مع تنسيق MSG فوق CF B ، مما يكشف عن تدفقات ممتلكات MAPI وجداول المستلمين ومخازن فرعية الملحقات. وفي المستوي الأعلى ، يسمح لك mapi_message بإنشاء رسائل جديدة من البداية ، قراءه الموضوعات والمراسلات والمتلقين والأجسام ، والتحول بين ملفات MS G وإيمل . المكتبة مبنية على أي منصة مع مترجم C ++ 17 وليس لديها اعتمادات خارجية ، مما يجعلها مناسبة لويندوز و لينكس وماكوس وحاويات دوكر والأنظمة المضمنة. يتم تقديم نسخة مؤسسة مع ميزات إضافية باسم Aspose.Email for C++.

حاوية CFB قراءة وكتابة

  • ** افتح ملفات CFB:** تحميل حاويات CF B الحالية من مسار الملف، أو التدفق، او مجموعة بايت عن طريق cfb_reader::from_file()، cfb_reader::from_stream() ، أو cfb_reader::from_bytes().
  • ** تمر عبر شجرة الدليل:** قم بإدراج التخزينات والمسارات باستخدام storage_ids()، stream_ids() ، وchild_ids() وتحرك في الترتيب الهرمي المختلط بـ resolve_path().
  • تفتيش العقدة: تحقق من نوع العنقود مع cfb_node::is_storage() وcfb_node::is_stream()، قراءة علامات الوقت عبر creation_time()و modified_time().
  • ** كتابة حاويات CFB:** بناء وثائق CF B برمجياً باستخدام cfb_document وتسلسلها إلى بايتات أو ملف عبر cfb_writer::to_bytes() أو cfb_writer::write_file().

أين يتم استخدام CFB Access

  • ** فحص ملف MSG:** CFB هو تنسيق الحاوية لملفات Outlook .msg الوصول المباشر إلى CF B يمكّن الفحص والإصلاح الشرعي.
  • ** تنسيقات ثنائية مخصصة:** أي تطبيق قديم يستخدم CFB لتخزين البيانات يمكن قراءته أو كتابته دون اعتماد COM.
  • ** استعادة البيانات:** تمر عبر شجرة الدليل الكاملة واستخراج بايتات التدفق الخام من ملفات CFB المتضررة أو غير القياسية.

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

  • ** قراءة ملفات MSG:** افتح الملفين Outlook MS G باستخدام msg_reader::from_file() أو msg_reader::from_stream() والوصول إلى التدفقات الخاصة بـ MAPI الأساسية ومخازن الملحقات الفرعية.
  • ** كتابة ملفات MSG:** إنتاج مُلفّات Msg من msg_document مع msg_writer::to_bytes() أو msg_writer::write_file().
  • تفتيش وثائق MSG: الوصول إلى بيانات النسخة عبر msg_document::major_version()، msg_document::minor_version()، وتحقق من الصرامة مع msg_document::strict().
  • ** تحويل إلى CFB:** استخراج وثيقة CF B الأساسية من ملف MSG عبر msg_document::to_cfb_document().

حيث يتم استخدام معالجة MSG

  • ** خط أنابيب أرشيف البريد الإلكتروني:** قراءة .msg الملفات من الدلائل الأرشيفية واستخراج بيانات الوصف أو الملحقات.
  • ** أدوات الهجرة:** تحويل مجموعات MSG إلى تنسيقات قياسية لاستيرادها في أنظمة غير Outlook.
  • ** اكتشاف قانوني:** تحليل تدفقات خصائص MAPI الخام لاستخراج جميع حقول الرسائل بما في ذلك الخصائض غير القياسية.

برنامج MAPI الرسائل عالي المستوى

  • إنشاء رسائل: إنشاء بريد إلكتروني كامل مع mapi_message::create()، ثم تعيين الموضوع والجسم و HTML الجسم عبر set_subject()، set_body() ، و set_html_body().
  • ** تعيين تفاصيل المرسل:** تكوين set_sender_name()، set_sender_email_address() ، وset_sender_address_type() للرسالة المخرجة.
  • ** إدارة المرفقات:** تحميل الملفات الملحقة من بايت أو التدفقات مع mapi_attachment::from_bytes() و mapi_attachment::from_stream() ، والتحقق من الرسائل المضمنة عبر is_embedded_message().
  • ** حفظ وإعادة تحميل:** سلسلة مع mapi_message::save() وتحميل مرة أخرى معmapi_message::from_file() أو mapi_message::from_stream().

أين يتم استخدام واجهة التطبيقات المتطورة (API) ؟

  • ** توليد البريد الإلكتروني الآلي:** إنشاء آلاف ملفات MSG الشخصية من سجلات البيانات في وظائف الدفعات.
  • إنشاء أجهزة الاختبار: إنشاء ملفات MSG معروفة جيدة مع محتوى متوقع لسلطات اختبارات التكامل.
  • ** استخراج المرفق:** تحميل ملف MSG، وتكرار المرافق، وحفظ كل على القرص.

تحويل EML و MIME

  • حمل EML في mapi_message: تحليل ملف .eml القياسي (RFC 5322 / MIME) إلى كائن mapi_message كامل عبر mapi_message::load_from_eml().
  • ** حفظ mapi_message كـ EML:** سلسلة mapi_message إلى شكل MIME مع save_to_eml().
  • الوفاء في الجولة: يتم الحفاظ على الموضوع، والجسم، والمرسل، ومستلمي المرفقات من خلال EML إلى MSG إلى EM L جولات ذهاب وآخر.

أين يتم استخدام تحويل EML؟

  • ** تشكيل الجسر:** تلقي رسائل البريد الإلكتروني كـ EML من خوادم البريدية وتحويلها إلى MSG لتخزين متوافق مع Outlook.
  • التوافق مع المعايير: تحويل ملفات MSG الملكية إلى MIME القياسية للتسليم لأي نقل بريد.
  • تطبيع الأرشيف: تطبيق أرشيف مختلط من .eml و.msg الملفات إلى تنسيق واحد.

قراءة الموضوع من ملف MSG

افتح ملف Outlook MSG من التيار وطباعة الموضوع لا يتطلب Microsoft Outlook.

#include <fstream>
#include <iostream>

#include "aspose/email/foss/msg/mapi_message.hpp"

int main()
{
    std::ifstream input("sample.msg", std::ios::binary);
    auto message = aspose::email::foss::msg::mapi_message::from_stream(input);
    std::cout << message.subject() << '\n';
}

إنشاء وحفظ رسالة MSG

قم بإنشاء بريد إلكتروني كامل مع المرسل، المستلم، والمرفق ثم اكتبها في كل من تنسيقات MSG و EML.

#include <fstream>

#include "aspose/email/foss/msg/mapi_message.hpp"

int main()
{
    auto message = aspose::email::foss::msg::mapi_message::create("Hello", "Body");
    message.set_sender_name("Alice");
    message.set_sender_email_address("alice@example.com");
    message.add_recipient("bob@example.com", "Bob");
    message.add_attachment("note.txt", std::vector<std::uint8_t>{'a', 'b', 'c'}, "text/plain");

    std::ofstream msg_output("hello.msg", std::ios::binary);
    message.save(msg_output);

    std::ofstream eml_output("hello.eml", std::ios::binary);
    message.save_to_eml(eml_output);
}
  

الدعم وموارد التعلم

 العربية