Aspose.Email FOSS untuk C++ adalah perpustakaan C++ sumber terbuka berlisensi MIT yang digunakan untuk bekerja dengan file Microsoft Outlook .msg dan kontainer Compound File Binary (CFB). Sertakan header melalui CMake dan langsung mulai membaca, membuat, serta memproses pesan email tanpa menginstal Microsoft Outlook atau runtime proprietari apa pun.
Perpustakaan ini 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 dapat dibangun di platform apa pun dengan kompiler C++17 dan tidak memiliki ketergantungan 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(), or cfb_reader::from_bytes().storage_ids(), stream_ids(), dan child_ids() , dan menavigasi hierarki yang tertanam dengan resolve_path().cfb_node::is_storage() dan cfb_node::is_stream(), membaca tanda waktu melalui creation_time() and modified_time().cfb_document dan serialisasi ke byte atau file melalui cfb_writer::to_bytes() atau cfb_writer::write_file()..msg file akses langsung ke CF B memungkinkan inspeksi forensik dan perbaikan.msg_reader::from_file() atau msg_reader::from_stream() dan akses aliran properti MAPI yang mendasari dan sub-pembekalan lampiran.msg_document dengan msg_writer::to_bytes() atau msg_writer::write_file().msg_document::major_version(), msg_document::minor_version() dan periksa kekakuan dengan msg_document::strict().msg_document::to_cfb_document()..msg file dari direktori arsitektur dan ekstrak metadata atau lampiran.mapi_message::create(), kemudian menetapkan subjek, tubuh, dan badan HTML 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(), dan periksa pesan tertanam melalui is_embedded_message().mapi_message::save() dan muat kembali denganmapi_message::from_file() atau mapi_message::from_stream()..eml standar (RFC 5322 / MIME) menjadi objek penuh mapi_message melalui mapi_message::load_from_eml().mapi_message kembali ke format MIME dengan save_to_eml()..eml dan .msg ke satu format.Buka file Outlook MSG dari stream dan cetak subjek tidak diperlukan 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 tuliskan 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);
}