Aspose.Email FOSS dla C++ to biblioteka C++ na licencji MIT, otwartoźródłowa, służąca do pracy z plikami Microsoft Outlook .msg oraz kontenerami Compound File Binary (CFB). Dołącz nagłówki za pomocą CMake i od razu zacznij odczytywać, tworzyć i przetwarzać wiadomości e‑mail bez instalowania Microsoft Outlook ani żadnego własnościowego środowiska uruchomieniowego.
Biblioteka oferuje dwa poziomy dostępu. Na niskim poziomie, cfb_reader i cfb_writer zapewniają pełną kontrolę nad binarnymi kontenerami CFB — umożliwiają przeglądanie wpisów katalogu, odczyt i zapis węzłów przechowywania oraz danych strumieni, a także inspekcję surowego układu sektorów. msg_reader i msg_writer obsługują format MSG na bazie CFB, udostępniając strumienie właściwości MAPI, tabele odbiorców oraz podprzechowywania załączników. Na wysokim poziomie, mapi_message pozwala tworzyć nowe wiadomości od podstaw, odczytywać tematy, treści, odbiorców i załączniki oraz konwertować pomiędzy formatami MSG i EML.
Biblioteka działa na każdej platformie z kompilatorem C++17 i nie ma zewnętrznych zależności, co czyni ją odpowiednią dla Windows, Linux, macOS, kontenerów Docker oraz systemów wbudowanych.
Wersja enterprise z dodatkowymi funkcjami jest dostępna jako Aspose.Email for C++.
cfb_reader::from_file(), cfb_reader::from_stream() lub cfb_reader::from_bytes().storage_ids(), stream_ids() oraz child_ids() i przechodź po zagnieżdżonych hierarchii za pośrednictwem resolve_path().cfb_node::is_storage() i cfb_node::is_stream(), odczytać znaczki czasowe za pośrednictwem creation_time() oraz modified_time().cfb_document i serializacja do bajtów lub pliku za pośrednictwem cfb_writer::to_bytes() lub cfb_writer::write_file()..msg bezpośredni dostęp do CF B umożliwia inspekcję i naprawy sądowe.msg_reader::from_file() lub msg_reader::from_stream() i uzyskaj dostęp do podstawowych strumieni właściwości MAPI oraz podmagazynowania załączników.msg_document za pomocą msg_writer::to_bytes() lub msg_writer::write_file().msg_document::major_version(), msg_document::minor_version() i sprawdź rygorystyczność przy użyciu msg_document::strict().msg_document::to_cfb_document()..msg z katalogich archiwum i ekstrakcja metadanych lub załączników.mapi_message::create(), a następnie ustaw temat, ciało i HTML poprzez set_subject() , set_body() oraz set_html_body().set_sender_name(), set_sender_email_address() i set_sender_address_type() dla wychodzącej wiadomości.mapi_attachment::from_bytes() i mapi_attachment::from_stream(), a następnie sprawdź wbudowane wiadomości za pośrednictwem is_embedded_message().mapi_message::save() oraz ładzenie z użyciem mapi_message::from_file() lub mapi_message::from_stream()..eml file (RFC 5322 / MIME) w pełny obiekt mapi_message za pośrednictwem mapi_message::load_from_eml().mapi_message z powrotem do formatu MIME za pomocą save_to_eml()..eml i .msg do jednego formatu.Otwórz plik Outlook MSG z strumienia i wydrukuj temat nie wymagane 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';
}
Zbuduj kompletny e-mail z nadawcą, odbiorcą i załącznikiem, a następnie napisz go zarówno w formacie MSG jak 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);
}