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

Aspose.Email FOSS for C++

Čítajte, vytvárajte a spracovávajte súbory Outlook MSG a kontajnery CFB z C++ — zadarmo a s otvoreným zdrojovým kódom, bez závislosti na Microsoft Outlook.

Open-Source C++ knižnica pre MSG a CFB súbory

FOSS pre C++ je knižnica MIT s licenciou na open-source C++, ktorá slúži na prácu so súbormi Microsoft Outlook .msg a kontejnermi Compound File Binary (CFB). Zahrňte nadpisy prostredníctvom CMake a okamžite začnite čítať, vytvárať a spracovávať e-mailové správy bez inštalácie programu Microsoft Outlook alebo akéhokoľvek vlastného času spustenia.

Knižnica poskytuje dve úrovne prístupu. Na nízkej úrovni cfb_reader a cfb_writer poskytujú plnú kontrolu nad binárnymi kontajnermi CFB vstupy v priečinnom adresári, čítajú a píšu ukladacie uzly a prúdu údajov a overujú rozloženie surového sektora. msg_reader and msg_writer spravujú formát MSG na vrchole CF B, odhaľujúce toky vlastností MAPI, prijímajúce tabuľky a podskladnice pripojenia. V vysokej úrovni vám mapi_message umožňuje vytvárať nové správy od nuly, čítanie predmetov, príjmov a orgánov a konverziu medzi formálom MS G a EML. Knižnica je postavená na akejkoľvek platforme s C++17 kompilátorom a nemá žiadne vonkajšie závislosti, čo ju robí vhodnou pre Windows, Linux, macOS, Docker kontajnery a vložené systémy. Enterprise Edition s dodatočnými funkciami je ponúkaný ako Aspose.Email for C++.

CFB kontajner Čítať a písať

  • Otvorte CFB súbory: Nahradajte existujúce kontajnery CF B z cesty súborov, prúdu alebo bajtového rozpisu prostredníctvom cfb_reader::from_file(), cfb_reader::from_stream() alebo cfb_reader::from_bytes().
  • ** Prejdite strom adresára:** Zobraziť ukladanie a prúdy pomocou storage_ids(), stream_ids() a child_ids() , a navigovať v hniezdenej hierarchii s resolve_path().
  • Inšpektujte uzly: Skontrolujte typ uzlov cfb_node::is_storage() a cfb_node::is_stream(), prečítajte časové známky prostredníctvom creation_time() alebo modified_time().
  • ** Napíšte CFB kontajnery:** Programaticky vytvorte dokumenty CF B s cfb_document a serializujte do bajtov alebo súborov prostredníctvom cfb_writer::to_bytes() alebo cfb_writer::write_file().

Kde sa používa prístup CFB

  • Inšpekcia súboru MSG: CFB je formát kontajnera pre Outlook .msg súborov Priamy prístup k CF B umožňuje forenznú inšpekciu a opravu.
  • Obvyklé binárne formáty: Každá staršia aplikácia, ktorá používa CFB na ukladanie údajov, sa môže čítať alebo písať bez závislosti COM.
  • ** Obnova údajov:** Prejdite plným stromom adresárov a vyberte surové byty z poškodených alebo neštandardných súborov CFB.

MSG súbor Čítať a písať

  • Prečítajte si MSG súbory: Otvorte Outlook MS G súbery s msg_reader::from_file() alebo msg_reader::from_stream() a prístup k podkladovým tokom vlastností MAPI a pripojeným sub-stávkov.
  • ** Napísať MSG súbory:** Vytvoriť MS G súbery z msg_document s msg_writer::to_bytes() alebo msg_writer::write_file().
  • Inšpekcia dokumentu MSG: Prístup k metadátam verzie prostredníctvom msg_document::major_version(), msg_document::minor_version() a kontrolu prísnosti pomocou msg_document::strict().
  • Konverzia na CFB: Vytlačiť základný dokument CF B z MSG súboru prostredníctvom msg_document::to_cfb_document().

Kde sa používa spracovanie MSG

  • E-mailové archivné potrubia: Bulk-read .msg súbory z archívnych adresárov a extrahovať metadaty alebo prílohy.
  • ** Nástroje na migráciu:** Konvertuje zbierky MSG do štandardných formátov pre import do systémov, ktoré nie sú súčasťou programu Outlook.
  • ** Právny objav:** Parse raw MAPI vlastností prúdy na extrakciu všetkých polí správy vrátane neštandardných vlastostí.

Správa MAPI vysokej úrovne API

  • Vytvorte správy: Vybudujte kompletný e-mail s mapi_message::create(), potom nastaviť predmet, telo a HTML telom prostredníctvom set_subject() , set_body() a set_html_body().
  • ** Nastavte údaje odosielateľa:** Konfigurovať set_sender_name(), set_sender_email_address() a set_sender_address_type() pre odchádzajúcu správu.
  • ** Správa príloh:** Nahradajte príklady z bajtov alebo prúdov pomocou mapi_attachment::from_bytes() a mapi_attachment::from_stream(), a skontrolujte vstavané správy prostredníctvom is_embedded_message().
  • Uložiť a preťažiť: Serializovať s mapi_message::save() a znovu zaťahovať so mapi_message::from_file() alebo mapi_message::from_stream().

Kde sa používa vysokokvalitný API

  • Automatická generácia e-mailov: Vytvorenie tisícok personalizovaných súborov MSG z záznamov údajov v dávkových pracovných postupoch.
  • Vytvorenie testovacích zariadení: Vybudovať známe dobré súbory MSG s predvídateľným obsahom pre integrované testovacie sady.
  • Extrakcia príloh: Nahráňte súbor MSG, iterujte prílohy a uložte každý na disk.

Konverzia EML a MIME

  • Load EML into mapi_message: Parse standardný .eml súbor (RFC 5322 / MIME) do plného mapi_message objektu prostredníctvom mapi_message::load_from_eml().
  • Uložiť mapi_message ako EML: Sérializovať mapi_message späť do MIME formátu s save_to_eml().
  • Výslednosť pri cestovaní okolo: Predmet, telo, odosielateľ, príjemca a prílohy sa uchovávajú prostredníctvom EML na MSG na EM L v priebehu návratových ciest.

Kde sa používa konverzia EML

  • Prípade formátu: Prijímanie e-mailov ako EML z poštových serverov a konverzia na MSG pre Outlook kompatibilné ukladanie.
  • ** Zodpovednosť štandardom:** Konverzia vlastných súborov MSG na štandardný MIME pre doručenie akejkoľvek poštovej doprave.
  • Archivačná normalizácia: Normalizovať zmiešaný archív .eml a .msg súborov do jedného formátu.

Čítať predmet z súboru MSG

Otvorte súbor Outlook MSG zo streamu a vytlačte predmet nie je potrebný 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';
}

Vytvorenie a uloženie správy MSG

Vytvorte kompletný e-mail so odosielateľom, príjemcom a priloženým dokumentom a potom ho napíšte do formátov MSG aj 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);
}
  

Support and Learning Resources

 Slovenčina