Aspose.Email FOSS للـ C++ هو مكتبة C++ مرخصة تحت MIT ومفتوحة المصدر للعمل مع ملفات Microsoft Outlook .msg وحاويات Compound File Binary (CFB). قم بتضمين رؤوس الملفات عبر CMake وابدأ فورًا في قراءة، إنشاء، ومعالجة رسائل البريد الإلكتروني دون تثبيت Microsoft Outlook أو أي بيئة تشغيل مملوكة.
توفر المكتبة مستويين من الوصول. على المستوى المنخفض، cfb_reader و cfb_writer يمنحان تحكمًا كاملاً في حاويات CFB الثنائية — استعراض إدخالات الدليل، قراءة وكتابة عقد التخزين وبيانات التدفق، وفحص تخطيط القطاع الخام. msg_reader و msg_writer يتعاملان مع تنسيق MSG فوق CFB، مكشفين عن تدفقات خصائص MAPI، جداول المستلمين، وتخزينات فرعية للمرفقات. على المستوى العالي، mapi_message يتيح لك إنشاء رسائل جديدة من الصفر، قراءة العناوين، النصوص، المستلمين، والمرفقات، وتحويل بين تنسيق MSG و EML.
المكتبة تُبنى على أي منصة تحتوي على مترجم C++17 ولا تعتمد على أي تبعيات خارجية، مما يجعلها مناسبة لنظام Windows، Linux، macOS، حاويات Docker، والأنظمة المدمجة.
يتم تقديم نسخة المؤسسة مع ميزات إضافية كـ Aspose.Email for C++.
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_document وتسلسلها إلى بايتات أو ملف عبر cfb_writer::to_bytes() أو cfb_writer::write_file()..msg — يتيح الوصول المباشر إلى CFB فحصًا جنائيًا وإصلاحًا.msg_reader::from_file() أو msg_reader::from_stream() واطّلع على تدفقات خصائص MAPI الأساسية وتخزينات المرفقات الفرعية.msg_document باستخدام msg_writer::to_bytes() أو msg_writer::write_file().msg_document::major_version()، msg_document::minor_version()، والتحقق من الصرامة باستخدام msg_document::strict().msg_document::to_cfb_document()..msg من أدلة الأرشيف واستخراج البيانات الوصفية أو المرفقات.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()..eml قياسي (RFC 5322 / MIME) إلى كائن mapi_message كامل عبر mapi_message::load_from_eml().mapi_message مرة أخرى إلى تنسيق MIME باستخدام save_to_eml()..eml و .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 و 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);
}