Aspose.Email FOSS עבור C++ הוא ספרייה בקוד פתוח בעל רישיון MIT, ספרייה של C++ לעבודה עם קבצי 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);
}