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

Aspose.Email FOSS for C++

Čtěte, vytvářejte a zpracovávejte soubory Outlook MSG a kontejnery CFB z C++ — zdarma a open‑source, bez závislosti na Microsoft Outlook.

Open-Source C++ knihovna pro soubory MSG a CFB

FOSS pro C++ je knihovna MIT-licencovaná, open source C ++ pro práci s soubory Microsoft Outlook .msg a kontejnery Compound File Binary (CFB). Zahrňte hlavy prostřednictvím CMake a okamžitě začněte číst, vytvářet a zpracovávat e-mailové zprávy bez instalace programu Microsoft Excel nebo jakéhokoli vlastnického runtime.

Knihovna poskytuje dvě úrovně přístupu. Na nízké úrovni, cfb_reader a cfb_writer dát plnou kontrolu nad CFB binární kontejnery průřezné adresářové položky, číst a psát ukládání uzlů skladování a dat proudění, a zkontrolovat syrový sektor rozložení. msg_reader A msg_writer zvládnout MSG formátu na vrcholu CFb , odhalí MAPI majetku proudy, přijímací tabulky a přílohy sub-skladovny . Na vysoké úrovni , mapi_message umožňuje vytvořit nové zprávy ze středu, přečíst předměty, příjemci a těla, jakož i konverze mezi MS G a EML formát . Knihovna je postavená na jakékoli platformě s kompilátorem C++17 a nemá žádné externí závislosti, což ji činí vhodnou pro Windows, Linux, macOS, Docker kontejnery a vestavěné systémy. Enterprise Edition s dalšími funkcemi je nabízen jako Aspose.Email for C++.

CFB kontejner čtení a psaní

  • Otevřete soubory CFB: Nabíjejte stávající kontejnery CF B z cesty, proudu nebo bajtového řetězce souborů prostřednictvím cfb_reader::from_file(), cfb_reader::from_stream() nebo cfb_reader::from_bytes().
  • Přejděte stromem adresářů: Seznamte úložiště a toky pomocí storage_ids(), stream_ids() a child_ids() a navigujte v hnízděných hierarchiích pomocím resolve_path().
  • Inšpektujte uzly: Zkontrolujte typ uzlu pomocí cfb_node::is_storage() a cfb_node::is_stream(), přečtěte časové značky prostřednictvím creation_time() amodified_time().
  • ** Napsat CFB kontejnery:** Programaticky vytvořit dokumenty CF B s cfb_document a serializovat do bajtů nebo souboru prostřednictvím cfb_writer::to_bytes() nebo cfb_writer::write_file().

Kde se používá přístup CFB

  • ** Inspekce souborů MSG:** CFB je formát kontejneru pro Outlook .msg soubory přímý přístup k CF B umožňuje forenzní inspekci a opravu.
  • ** Obvyklé binární formáty:** Jakákoli starší aplikace, která používá CFB pro ukládání dat, může být čtená nebo zapsána bez závislosti na COM.
  • ** Obnova dat:** Projít plným stromem adresářů a extrahovat surové byty toku z poškozených nebo nestandardních souborů CFB.

MSG soubor Číst a psát

  • Číst soubory MSG: Otevřít soubor Outlook MS G pomocí msg_reader::from_file() nebo msg_reader::from_stream() a přístup k podkladovým tokům vlastností MAPI a přílohovému sub-stěrování.
  • Píše MSG soubory: Vytváříte MS G soubory z msg_document s msg_writer::to_bytes() nebo msg_writer::write_file().
  • ** Inspekce dokumentu MSG:** Přístup k metadatám verze prostřednictvím msg_document::major_version(), msg_document::minor_version() a kontrolujte přísnost pomocí msg_document::strict().
  • Konverze na CFB: Vytáhnout podkladový dokument CF B z souboru MSG prostřednictvím msg_document::to_cfb_document().

Kde se používá zpracování MSG

  • E-mailové archivní potrubí: Bulk-read .msg soubory z adresářů archivace a extrahovat metadata nebo přílohy.
  • ** Nástroje pro migraci:** Konverze sbírek MSG do standardních formátů pro import do systémů jiných než Outlook.
  • ** Právní zjištění:** Parse raw MAPI vlastností toky pro získání všech polí sdělení včetně nestandardních vlastostí.

API pro zprávy MAPI na vysoké úrovni

  • Vytvořte zprávy: Vybudujte kompletní e-mail s mapi_message::create(), pak nastavit předmět, tělo a HTML tělesné prostřednictvím set_subject() , set_body() , a set_html_body().
  • ** Nastavit odesílací údaje:** Konfigurovat set_sender_name(), set_sender_email_address() a set_sender_address_type() pro výchozí zprávu.
  • ** Správní přílohy:** Nahrát přílohy z bajtů nebo toků s mapi_attachment::from_bytes() a mapi_attachment::from_stream() , a zkontrolovat vestavěné zprávy prostřednictvím is_embedded_message().
  • Uchování a přeložení: Sérializace s mapi_message::save() a opětovné naložení se mapi_message::from_file() nebo mapi_message::from_stream().

Kde se používá API na vysoké úrovni

  • Automatická generace e-mailů: Vytvořte tisíce personalizovaných souborů MSG z datových záznamů v dávkových pracovních místech.
  • Vytvoření testovacího zařízení: Vybudovat známé dobré soubory MSG s předvídatelným obsahem pro integrační testy.
  • Extrakce příloh: Nahrát soubor MSG, iterovat přílohy a uložit každý na disk.

Konverze EML a MIME

  • Load EML into mapi_message: Parse standardní .eml soubor (RFC 5322 / MIME) do plného mapi_message objektu prostřednictvím mapi_message::load_from_eml().
  • Uchráníte mapi_message jako EML: Sérializace mapi_message zpět do MIME formátu pomocí save_to_eml().
  • Věrnost v přepětí: Předmět, tělo, odesílač, příjemce a přílohy jsou uchovávány prostřednictvím EML na MSG na EM L při přespěchu.

Kde se používá konverze EML

  • Přepravu formátu: Přijímají e-maily jako EML z poštovních serverů a konvertují do MSG pro Outlook kompatibilní ukládání.
  • Soulad se standardy: Konvertuje proprietární soubory MSG na standardní MIME pro doručení do jakékoli poštovní dopravy.
  • Archivní normalizace: Normalizovat smíšený archiv souborů .eml a .msg do jednoho formátu.

Číst předmět z souboru MSG

Otevřete soubor Outlook MSG ze streamu a vytiskněte předmět není nutný 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';
}

Vytvořit a uložit zprávu MSG

Vytvořte kompletní e-mail se odesílatelem, příjemcem a přílohou, pak jej napište jak do formátu MSG tak i 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);
}
  

Podpora a vzdělávací materiály

 Čeština