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

Aspose.Email FOSS for C++

Odczytuj, twórz i przetwarzaj pliki Outlook MSG oraz kontenery CFB w C++ — darmowe i otwartoźródłowe, bez zależności od Microsoft Outlook.

Biblioteka C++ Open-Source dla plików MSG i CFB

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++.

Pojemnik CFB Czytanie i zapisywanie

  • ** Otwórz pliki CFB:** Włóż istniejące kontenery CF B z ścieżki pliku, strumienia lub szeregu bajtów za pośrednictwem cfb_reader::from_file(), cfb_reader::from_stream() lub cfb_reader::from_bytes().
  • ** Przejdź przez drzewo katalogu:** Wylicz magazyny i strumienie za pomocą storage_ids(), stream_ids() oraz child_ids() i przechodź po zagnieżdżonych hierarchii za pośrednictwem resolve_path().
  • ** Sprawdź węzły:** Sprawdzić typ wązła za pomocą cfb_node::is_storage() i cfb_node::is_stream(), odczytać znaczki czasowe za pośrednictwem creation_time() oraz modified_time().
  • Wypisz pojemniki CFB: Zbuduj dokumenty CFb programowo za pomocą cfb_document i serializacja do bajtów lub pliku za pośrednictwem cfb_writer::to_bytes() lub cfb_writer::write_file().

W przypadku korzystania z dostępu CFB

  • ** Inspekcja pliku MSG:** CFB jest formatem kontenera dla plików Outlook .msg bezpośredni dostęp do CF B umożliwia inspekcję i naprawy sądowe.
  • Zastosowane formaty binarne: Wszelkie aplikacje używające CFB do przechowywania danych mogą być odczytywane lub zapisywane bez zależności COM.
  • ** Odzyskanie danych:** Przejdź przez całe drzewo katalogu i wyciągnij surowe bajty strumienia z uszkodzonych lub niestandardycznych plików CFB.

Plik MSG Czytanie i pisanie

  • ** Czytaj pliki MSG:** Otwórz pliky Outlook MS G za pomocą 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.
  • ** Napisz pliki MSG:** Wydaj pliky MS G z msg_document za pomocą msg_writer::to_bytes() lub msg_writer::write_file().
  • Przegląd dokumentu MSG: Dostęp do metadanych wersji za pośrednictwem msg_document::major_version(), msg_document::minor_version() i sprawdź rygorystyczność przy użyciu msg_document::strict().
  • Konwertować na CFB: Wyciągnij podstawowy dokument CF B z pliku MSG za pomocą msg_document::to_cfb_document().

W jakich miejscach stosowane jest przetwarzanie MSG

  • Pipeline archiwalne e-mailowe: Pliki zbiorczo odczytywane .msg z katalogich archiwum i ekstrakcja metadanych lub załączników.
  • ** Narzędzia migracji:** Konwersja kolekcji MSG do standardowych formatów w celu ich importu do systemów innych niż Outlook.
  • Wykrycie prawne: Przeanalizować surowe strumienie właściwości MAPI, aby wydobyć wszystkie pola wiadomości w tym niestandardowe właściwość.

API wiadomości MAPI wysokiego poziomu

  • Stworzenie wiadomości: Stwórz kompletny e-mail za pomocą mapi_message::create(), a następnie ustaw temat, ciało i HTML poprzez set_subject() , set_body() oraz set_html_body().
  • ** Ustaw szczegóły nadawcy:** Konfiguruj set_sender_name(), set_sender_email_address() i set_sender_address_type() dla wychodzącej wiadomości.
  • ** Zarządzaj załącznikami:** Włóż załączniki z bajtów lub strumieni za pomocą mapi_attachment::from_bytes() i mapi_attachment::from_stream(), a następnie sprawdź wbudowane wiadomości za pośrednictwem is_embedded_message().
  • Zapisywanie i ładowanie ponownie: Serializacja za pomocą mapi_message::save() oraz ładzenie z użyciem mapi_message::from_file() lub mapi_message::from_stream().

Gdzie używa się API wysokiego poziomu

  • Automatyczne generowanie poczty elektronicznej: Generuje tysiące spersonalizowanych plików MSG z rekordów danych w pracy partii.
  • Testowanie urządzeń testowych: Tworzenie znanych plików MSG o przewidywalnej treści dla pakietów testów integracyjnych.
  • Wykrycie załączników: Włóż plik MSG, iteruj załączniki i zapisz każde na dysku.

Konwersja EML i MIME

  • Load EML into mapi_message: Parse standard .eml file (RFC 5322 / MIME) w pełny obiekt mapi_message za pośrednictwem mapi_message::load_from_eml().
  • Zapisz mapi_message jako EML: Seriizacja mapi_message z powrotem do formatu MIME za pomocą save_to_eml().
  • Fidelity w obiegu: Podmiot, ciało, nadawca, odbiorcy i załączniki są zachowywane przez EML do MSG do EM L.

W jakich miejscach stosowana jest konwersja EML

  • Przechodzenie formatu: Odbierać wiadomości e-mail jako EML z serwerów poczty i konwersji do MSG dla pamięci kompatybilnej Outlook.
  • ** Zgodność ze standardami:** Konwersja zastrzeżonych plików MSG do standardowego MIME w celu dostarczenia dowolnej przesyłki pocztowej.
  • Normalizacja archiwalna: Normalizacji mieszanego archiwum plików .eml i .msg do jednego formatu.

Przeczytać temat z pliku MSG

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';
}

Tworzenie i zapisywanie wiadomości MSG

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);
}
  

Zasoby Wsparcia i Nauki

 Polski