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_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 الوصول المباشر إلى CF B يمكّن الفحص والإصلاح الشرعي.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);
}