1. Produk
  2.   Aspose.Email
  3.   Aspose.Email FOSS for C++

Aspose.Email FOSS for C++

Baca, buat, dan proses file Outlook MSG serta kontainer CFB dari C++ — gratis dan sumber terbuka, tanpa ketergantungan Microsoft Outlook.

Open-Source C++ Library untuk File MSG dan CFB

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 Container Baca dan Tulis

  • ** Buka file CFB:** Mengunggah kontainer CF B yang ada dari jalur, aliran, atau array byte melalui cfb_reader::from_file(), cfb_reader::from_stream(), or cfb_reader::from_bytes().
  • ** Pergilah melalui pohon direktori:** Daftarkan penyimpanan dan aliran menggunakan storage_ids(), stream_ids(), dan child_ids() , dan menavigasi hierarki yang tertanam dengan resolve_path().
  • ** Periksa node:** Memeriksa tipe node dengan cfb_node::is_storage() dan cfb_node::is_stream(), membaca tanda waktu melalui creation_time() and modified_time().
  • Tulis kontainer CFB: Bangun dokumen CF B secara programatis dengan cfb_document dan serialisasi ke byte atau file melalui cfb_writer::to_bytes() atau cfb_writer::write_file().

Di mana Akses CFB Digunakan

  • ** Inspeksi file MSG:** CFB adalah format kontainer untuk Outlook .msg file akses langsung ke CF B memungkinkan inspeksi forensik dan perbaikan.
  • ** Format biner kustom:** Setiap aplikasi lama yang menggunakan CFB untuk penyimpanan data dapat dibaca atau ditulis tanpa ketergantungan COM.
  • ** Pemulihan data:** Pergilah melalui pohon direktori penuh dan ekstrak byte stream mentah dari file CFB yang rusak atau tidak standar.

File MSG Membaca dan Menulis

  • Membaca file MSG: Buka file Outlook MS G dengan msg_reader::from_file() atau msg_reader::from_stream() dan akses aliran properti MAPI yang mendasari dan sub-pembekalan lampiran.
  • Tulis file MSG: Buat file Msg dari msg_document dengan msg_writer::to_bytes() atau msg_writer::write_file().
  • ** Pemeriksaan dokumen MSG:** Akses metadata versi melalui msg_document::major_version(), msg_document::minor_version() dan periksa kekakuan dengan msg_document::strict().
  • ** Mengkonversi ke CFB:** Ekstrak dokumen CF B yang mendasari dari file MSG melalui msg_document::to_cfb_document().

Di Mana Pengolahan MSG Digunakan

  • ** E-mail arsip pipa:** Bulk-baca .msg file dari direktori arsitektur dan ekstrak metadata atau lampiran.
  • ** Alat migrasi:** Konversi koleksi MSG ke format standar untuk impor ke sistem non-Outlook.
  • ** Penemuan hukum:** Parse MAPI properti mentah untuk mengekstrak semua bidang pesan termasuk sifat non-standar.

API Pesan MAPI Tingkat Tinggi

  • Membuat pesan: Membangun email lengkap dengan mapi_message::create(), kemudian menetapkan subjek, tubuh, dan badan HTML melalui set_subject(), set_body() , dan set_html_body().
  • ** Atur rincian pengirim:** Konfigurasi set_sender_name(), set_sender_email_address() dan set_sender_address_type() untuk pesan keluar.
  • ** Mengelola lampiran:** Load attachments dari byte atau stream dengan mapi_attachment::from_bytes() dan mapi_attachment::from_stream(), dan periksa pesan tertanam melalui is_embedded_message().
  • ** Menyimpan dan memuat ulang:** Serialisasi dengan mapi_message::save() dan muat kembali denganmapi_message::from_file() atau mapi_message::from_stream().

Di mana API Tingkat Tinggi Digunakan

  • ** Generasi email otomatis:** Menggenerasi ribuan file MSG yang dipersonalisasi dari catatan data dalam pekerjaan batch.
  • Pembuatan perangkat uji: Membangun file MSG yang dikenal baik dengan konten yang dapat diprediksi untuk suite tes integrasi.
  • ** Ekstraksi lampiran:** Mengunggah file MSG, mengulang lampingan, dan menyimpan masing-masing ke disk.

Konversi EML dan MIME

  • ** Load EML into mapi_message:** Parse file .eml standar (RFC 5322 / MIME) menjadi objek penuh mapi_message melalui mapi_message::load_from_eml().
  • ** Menyimpan mapi_message sebagai EML:** Serialisasi mapi_message kembali ke format MIME dengan save_to_eml().
  • Fidelitas perjalanan bolak-balik: Subjek, tubuh, pengirim, penerima, dan lampiran disimpan melalui EML ke MSG ke EM L perjalanan balik.

Di mana Konversi EML Digunakan

  • Pembatas format: Menerima email sebagai EML dari server surat dan mengonversi ke MSG untuk penyimpanan yang kompatibel dengan Outlook.
  • Patuh standar: Konversi file MSG proprietary ke MIME standar untuk pengiriman ke transportasi surat apa pun.
  • Normalisasi arsip: Normalisasikan arsitek campuran dari file .eml dan .msg ke satu format.

Membaca Subjek dari File MSG

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 dan Simpan Pesan MSG

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);
}
  

Sumber Daya Dukungan dan Pembelajaran

 Bahasa Indonesia