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

Aspose.Email FOSS for C++

Baca, cipta, dan proses fail Outlook MSG serta kontena CFB dari C++ — percuma dan sumber terbuka, tanpa kebergantungan Microsoft Outlook.

Perpustakaan C++ Sumber Terbuka untuk Fail MSG dan CFB

Aspose.Email FOSS untuk C++ ialah perpustakaan C++ sumber terbuka berlesen MIT untuk bekerja dengan fail .msg Microsoft Outlook dan kontena Compound File Binary (CFB). Sertakan header melalui CMake dan terus mula membaca, membuat, dan memproses mesej e-mel tanpa memasang Microsoft Outlook atau mana-mana runtime proprietari.

Perpustakaan ini menyediakan dua tahap akses. Pada peringkat rendah, cfb_reader dan cfb_writer memberikan kawalan penuh ke atas kontena binari CFB — menelusuri entri direktori, membaca dan menulis nod storan serta data aliran, dan memeriksa susun atur sektor mentah. msg_reader dan msg_writer mengendalikan format MSG di atas CFB, mendedahkan aliran sifat MAPI, jadual penerima, dan sub-storages lampiran. Pada peringkat tinggi, mapi_message membolehkan anda mencipta mesej baru dari awal, membaca subjek, badan, penerima, dan lampiran, serta menukar antara format MSG dan EML.

Perpustakaan ini dibina pada mana-mana platform dengan penyusun C++17 dan tidak mempunyai kebergantungan luaran, menjadikannya sesuai untuk Windows, Linux, macOS, kontena Docker, dan sistem terbenam.

Edisi perusahaan dengan ciri tambahan ditawarkan sebagai Aspose.Email for C++.

Kontainer CFB Baca dan Tulis

  • ** Buka fail CFB:** Muat naik bekas CF B yang sedia ada dari laluan fail, aliran, atau array byte melalui cfb_reader::from_file(), cfb_reader::from_stream() , atau cfb_reader::from_bytes().
  • Lintas di pokok direktori: Senaraikan storages dan aliran menggunakan storage_ids(), stream_ids() , dan child_ids() , serta menavigasi hierarki yang tertanam dengan resolve_path().
  • ** Periksa nod:** Semak jenis node dengan cfb_node::is_storage() dan cfb_node::is_stream(), baca cap masa melalui creation_time() and modified_time().
  • Tulis bekas CFB: Membina dokumen CF B secara berprograman dengan cfb_document dan menyerialisasikan ke bait atau fail melalui cfb_writer::to_bytes() atau cfb_writer::write_file().

Di mana Akses CFB Digunakan

  • ** Pemeriksaan fail MSG:** CFB adalah format bekas untuk Outlook .msg fail akses langsung CF B membolehkan pemeriksaan forensik dan pembaikan.
  • ** Format binari tersuai:** Mana-mana aplikasi lama yang menggunakan CFB untuk penyimpanan data boleh dibaca atau ditulis tanpa kebergantungan COM.
  • ** Pemulihan data:** Pergi melalui pokok direktori penuh dan mengekstrak byte aliran mentah dari fail CFB yang rosak atau tidak standard.

Fail MSG Baca dan Tulis

  • Membaca fail MSG: Buka fail Outlook MS G dengan msg_reader::from_file() atau msg_reader::from_stream() dan akses aliran sifat MAPI yang mendasari dan sub-pembekalan lampiran.
  • ** Menulis fail MSG:** Menghasilkan fail 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 semak ketepatan dengan msg_document::strict().
  • ** Menukar ke CFB:** Mengekstrak dokumen CF B yang mendasari dari fail MSG melalui msg_document::to_cfb_document().

Di Mana Pengolahan MSG Digunakan

  • ** E-mel paip arkib:** Bulk baca .msg fail dari direktori arsip dan ekstrak metadata atau lampiran.
  • ** Alat pemindahan:** Menukar koleksi MSG ke format standard untuk import ke sistem bukan Outlook.
  • ** Penemuan undang-undang:** Parse aliran sifat MAPI mentah untuk mengekstrak semua medan mesej termasuk sifat bukan standard.

API MAPI Peruahan Tingkat Tinggi

  • ** Buat mesej:** Membina e-mel lengkap dengan mapi_message::create(), kemudian tentukan subjek, badan, dan badan HTML melalui set_subject(), set_body() , dan set_html_body().
  • ** Tetapkan butiran penghantar:** Sediakan set_sender_name(), set_sender_email_address() dan set_sender_address_type() untuk mesej yang keluar.
  • ** Mengurus lampiran:** Muat naik lamparan dari byte atau aliran dengan mapi_attachment::from_bytes() dan mapi_attachment::from_stream(), dan semak mesej tertanam melalui is_embedded_message().
  • ** Simpan dan muat semula:** Serial dengan mapi_message::save() dan memuat ulang denganmapi_message::from_file() atau mapi_message::from_stream().

Di mana API Tingkat Tinggi Digunakan

  • ** Penjanaan e-mel automatik:** Menjana beribu-ribu fail MSG peribadi dari rekod data dalam kerja batch.
  • ** Penciptaan alat ujian:** Membina fail MSG yang terkenal dengan kandungan yang dapat diramalkan untuk kumpulan ujian integrasi.
  • ** Pengekstrakan lampiran:** Muat naik fail MSG, mengulangi lampingan, dan simpan masing-masing ke cakera.

EML dan MIME Konversi

  • ** Load EML into mapi_message:** Parse standard .eml file (RFC 5322 / MIME) ke dalam objek penuh mapi_message melalui mapi_message::load_from_eml().
  • ** Simpan mapi_message sebagai EML:** Serialkan mapi_message kembali ke format MIME dengan save_to_eml().
  • Ketekapan perjalanan: Subjek, badan, pengirim, penerima dan lampiran dipelihara melalui EML ke MSG ke EM L-perjalanan.

Di mana penukaran EML digunakan

  • Pembatas format: Terima e-mel sebagai EML dari pelayan mel dan menukar ke MSG untuk penyimpanan yang serasi dengan Outlook.
  • ** Pematuhan piawaian:** Menukar fail MSG milik kepada MIME standard untuk penghantaran ke mana-mana angkutan pos.
  • ** Normalizasi arkib:** Normalisasi arsip campuran .eml dan .msg fail ke satu format.

Membaca Subjek dari Fail MSG

Buka fail Outlook MSG dari aliran dan cetak subjek tiada Microsoft Outlook diperlukan.

#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 Mesej MSG

Buat e-mel lengkap dengan pengirim, penerima dan lampiran, kemudian tuliskan ke dalam 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);
}
  

Sokongan dan Sumber Pembelajaran

 Bahasa Melayu