Aspose.Email FOSS برای C++ یک کتابخانه منبع باز با مجوز MIT است که برای کار با فایلهای Microsoft Outlook .msg و مخازن Compound File Binary (CFB) طراحی شده است. هدرها را از طریق CMake وارد کنید و بلافاصله شروع به خواندن، ایجاد و پردازش پیامهای ایمیل کنید بدون اینکه نیاز به نصب Microsoft Outlook یا هر runtime مالکیتی داشته باشید.
کتابخانه دو سطح دسترسی را فراهم میکند. در سطح پایین، 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 است. دسترسی مستقیم به 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::load_from_eml() در یک شیء کامل mapi_message تجزیه و تحلیل کنید.mapi_message را با save_to_eml() دوباره به قالب MIME سریال سازی کنید..eml و .msg را به یک فرمت واحد تعدیلی کنید.یک فایل MSG Outlook را از یک جریان باز کنید و موضوع 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);
}