Aspose.Email FOSS untuk C++ adalah perpustakaan C++ sumber terbuka berlisensi MIT yang digunakan untuk bekerja dengan file .msg Microsoft Outlook dan kontainer Compound File Binary (CFB). Sertakan header melalui CMake dan segera mulai membaca, membuat, serta memproses pesan email tanpa menginstal Microsoft Outlook atau runtime proprietari apa pun.
Pustaka menyediakan dua tingkat akses. Pada tingkat rendah, cfb_reader dan cfb_writer memberikan kontrol penuh atas kontainer biner CFB — menelusuri entri direktori, membaca dan menulis node penyimpanan serta data aliran, dan memeriksa tata letak sektor mentah. msg_reader dan msg_writer menangani format MSG di atas CFB, menampilkan aliran properti MAPI, tabel penerima, dan sub‑penyimpanan lampiran. Pada tingkat tinggi, mapi_message memungkinkan Anda membuat pesan baru dari awal, membaca subjek, isi, penerima, dan lampiran, serta mengonversi antara format MSG dan EML.
Perpustakaan ini dibangun di platform apa pun dengan kompiler C++17 dan tidak memiliki dependensi eksternal, menjadikannya cocok untuk Windows, Linux, macOS, kontainer Docker, dan sistem tertanam.
Edisi enterprise dengan fitur tambahan ditawarkan sebagai Aspose.Email for C++.
cfb_reader::from_file(), cfb_reader::from_stream(), atau cfb_reader::from_bytes().storage_ids(), stream_ids(), dan child_ids(), serta menavigasi hierarki bersarang dengan resolve_path().cfb_node::is_storage() dan cfb_node::is_stream(), baca timestamp melalui creation_time() dan modified_time().cfb_document dan serialisasikan ke byte atau file melalui cfb_writer::to_bytes() atau cfb_writer::write_file()..msg — akses langsung CFB memungkinkan inspeksi forensik dan perbaikan.msg_reader::from_file() atau msg_reader::from_stream() dan akses aliran properti MAPI yang mendasari serta sub‑storage lampiran.msg_document dengan msg_writer::to_bytes() atau msg_writer::write_file().msg_document::major_version(), msg_document::minor_version(), dan periksa keketatan dengan msg_document::strict().msg_document::to_cfb_document()..msg dari direktori arsip dan ekstrak metadata atau lampiran.mapi_message::create(), kemudian atur subjek, isi, dan HTML isi melalui set_subject(), set_body(), dan set_html_body().set_sender_name(), set_sender_email_address(), dan set_sender_address_type() untuk pesan keluar.mapi_attachment::from_bytes() dan mapi_attachment::from_stream(), serta periksa pesan tersemat melalui is_embedded_message().mapi_message::save() dan muat ulang dengan mapi_message::from_file() atau mapi_message::from_stream()..eml standar (RFC 5322 / MIME) menjadi objek mapi_message lengkap melalui mapi_message::load_from_eml().mapi_message kembali ke format MIME dengan save_to_eml()..eml dan .msg menjadi satu format.Buka file Outlook MSG dari aliran dan cetak subjek — tidak memerlukan 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';
}
Buat email lengkap dengan pengirim, penerima, dan lampiran, lalu tulis ke format MSG dan 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);
}