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

Aspose.Email FOSS for C++

Leggi, crea e elabora file Outlook MSG e contenitori CFB da C++ — gratuito e open‑source, senza dipendenza da Microsoft Outlook.

Open-Source C++ Library per file MSG e CFB

Aspose.Email FOSS per C++ è una libreria C++ open-source con licenza MIT per lavorare con i file .msg di Microsoft Outlook e i contenitori Compound File Binary (CFB). Includi gli header tramite CMake e inizia subito a leggere, creare e processare i messaggi email senza installare Microsoft Outlook o alcun runtime proprietario.

La libreria offre due livelli di accesso. A livello basso, cfb_reader e cfb_writer forniscono il controllo completo sui contenitori binari CFB — attraversare le voci di directory, leggere e scrivere nodi di storage e dati di stream, e ispezionare la disposizione grezza dei settori. msg_reader e msg_writer gestiscono il formato MSG sopra CFB, esponendo i flussi di proprietà MAPI, le tabelle dei destinatari e i sotto-storage degli allegati. A livello alto, mapi_message ti consente di creare nuovi messaggi da zero, leggere oggetti, corpi, destinatari e allegati, e convertire tra i formati MSG ed EML.

La libreria si compila su qualsiasi piattaforma con un compilatore C++17 e non ha dipendenze esterne, rendendola adatta per Windows, Linux, macOS, container Docker e sistemi embedded.

Un’edizione enterprise con funzionalità aggiuntive è offerta come Aspose.Email for C++.

Contenitore CFB Leggere e scrivere

  • Apri i file CFB: Carica contenitori CF B esistenti da un percorso di file, stream o array byte tramite cfb_reader::from_file(), cfb_reader::from_stream() o cfb_reader::from_bytes().
  • ** Attraversare l’albero delle directory:** Enumerate i file di memorizzazione e dei flussi utilizzando storage_ids(), stream_ids() e child_ids() e navigate nelle gerarchie annidate con resolve_path().
  • Ispezionare i nodi: Verificare il tipo di nodo con cfb_node::is_storage() e cfb_node::is_stream(), leggere le timestamp tramite creation_time() ed modified_time().
  • ** Scrivere contenitori CFB:** Costruire documenti CF B in modo programmatico con cfb_document e serializzare in byte o file tramite cfb_writer::to_bytes() o cfb_writer::write_file().

Dove viene utilizzato l'accesso CFB

  • ** Ispezione dei file MSG:** CFB è il formato contenitore per i file Outlook .msg l’accesso diretto a CF B consente ispezioni e riparazioni forensi.
  • Formati binari personalizzati: Qualsiasi applicazione tradizionale che utilizza CFB per la memorizzazione dei dati può essere letta o scritta senza una dipendenza COM.
  • Ricupero dati: Attraversare l’albero delle directory e estrarre byte di flusso grezzo da file CFB danneggiati o non standard.

File MSG Leggere e scrivere

  • Leggi i file MSG: Aprire Outlook con msg_reader::from_file() o msg_reader::from_stream() e accedere ai flussi di proprietà MAPI sottostanti e alle sottoricoltura degli allegati.
  • ** Scrittura di file MSG:** Produci i file Msg da un msg_document con msg_writer::to_bytes() o msg_writer::write_file().
  • ** Ispezione del documento MSG:** Accedere ai metadati della versione tramite msg_document::major_version(), msg_document::minor_version() e verificare la rigidità con msg_document::strict().
  • Convertire in CFB: Estrarre il documento CF B sottostante da un file MSG tramite msg_document::to_cfb_document().

Dove viene utilizzata la lavorazione del MSG

  • Pipeline di archiviazione e-mail: Leggere in massa file .msg da directory di archivio ed estrarre metadati o allegati.
  • ** Strumenti di migrazione:** Convertire le collezioni MSG in formati standard per l’importazione nei sistemi non Outlook.
  • Descopertura legale: Analizzare i flussi di proprietà MAPI grezzi per estrarre tutti i campi dei messaggi, comprese le proprietá non standard.

API di messaggi MAPI ad alto livello

  • Creare messaggi: Crea un’email completa con mapi_message::create(), quindi imposta argomento, corpo e corpo HTML tramite set_subject(), set_body() e set_html_body().
  • ** Imposta i dettagli del mittente:** Configura set_sender_name(), set_sender_email_address() e set_sender_address_type() per il messaggio in uscita.
  • Gestione degli allegati: Carica gli allegato da byte o flussi con mapi_attachment::from_bytes() e mapi_attachment::from_stream(), e controlla se ci sono messaggi incorporati tramite is_embedded_message().
  • ** Salvare e ricaricare:** Serializza con mapi_message::save() e ricarica conmapi_message::from_file() o mapi_message::from_stream().

Dove viene utilizzata l'API di alto livello

  • ** Generazione automatica di email:** Generare migliaia di file MSG personalizzati da record di dati in batch jobs.
  • Creazione di dispositivi per test: Costruire file MSG con contenuti prevedibili per le suite di test d’integrazione.
  • Estrazione degli allegati: Carica un file MSG, itera gli allegato e salva ciascuno su disco.

Conversione EML e MIME

  • ** Caricare EML in mapi_message:** Parse un file standard .eml (RFC 5322 / MIME) in un oggetto completo mapi_message tramite mapi_message::load_from_eml().
  • ** Salvare mapi_message come EML:** Serializzi un mapi_message in formato MIME con save_to_eml().
  • Fidelità di andata e ritorno: Soggetto, corpo, mittente, destinatari e allegati sono conservati tramite EML a MSG a EM L-viaggi.

Dove viene utilizzata la conversione EML

  • ** Format bridging:** Ricevere e-mail come EML dai server di posta elettronica e convertire in MSG per lo storage compatibile con Outlook.
  • ** Conformità agli standard:** Conversione dei file proprietari MSG in MIME per la consegna a qualsiasi trasporto di posta.
  • Normalizzazione dell’archivio: Normalizza un archivio misto di file .eml e .msg in un unico formato.

Leggere argomento da un file MSG

Aprire un file MSG di Outlook da una stream e stampare l’oggetto non è necessario 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';
}

Creare e salvare un messaggio MSG

Crea un’email completa con mittente, destinatario e allegato, poi scrivila sia in formato MSG che 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);
}
  

Risorse di Supporto e Apprendimento

 Italiano