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_reader::from_file(), cfb_reader::from_stream() alebo cfb_reader::from_bytes().storage_ids(), stream_ids() a child_ids() , a navigovať v hniezdenej hierarchii s resolve_path().cfb_node::is_storage() a cfb_node::is_stream(), prečítajte časové známky prostredníctvom creation_time() alebo modified_time().cfb_document a serializujte do bajtov alebo súborov prostredníctvom cfb_writer::to_bytes() alebo cfb_writer::write_file()..msg súborov Priamy prístup k CF B umožňuje forenznú inšpekciu a opravu.msg_reader::from_file() alebo msg_reader::from_stream() a prístup k podkladovým tokom vlastností MAPI a pripojeným sub-stávkov.msg_document s msg_writer::to_bytes() alebo msg_writer::write_file().msg_document::major_version(), msg_document::minor_version() a kontrolu prísnosti pomocou msg_document::strict().msg_document::to_cfb_document()..msg súbory z archívnych adresárov a extrahovať metadaty alebo prílohy.mapi_message::create(), potom nastaviť predmet, telo a HTML telom prostredníctvom set_subject() , set_body() a set_html_body().set_sender_name(), set_sender_email_address() a set_sender_address_type() pre odchádzajúcu správu.mapi_attachment::from_bytes() a mapi_attachment::from_stream(), a skontrolujte vstavané správy prostredníctvom is_embedded_message().mapi_message::save() a znovu zaťahovať so mapi_message::from_file() alebo mapi_message::from_stream()..eml súbor (RFC 5322 / MIME) do plného mapi_message objektu prostredníctvom mapi_message::load_from_eml().mapi_message späť do MIME formátu s save_to_eml()..eml a .msg súborov do jedného formátu.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';
}
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);
}