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

Aspose.Email FOSS for C++

Citește, creează și procesează fișiere Outlook MSG și containere CFB din C++ — gratuit și cu sursă deschisă, fără dependență de Microsoft Outlook.

Biblioteca C++ Open-Source pentru fișiere MSG și CFB

FOSS pentru C++ este o bibliotecă open-source MIT, licențiată în C++, care funcționează cu fișierele Microsoft Outlook .msg și containere Compound File Binary (CFB). Includeți capetele prin CMake și începeți imediat să citiți, creați și prelucrați mesajele de e-mail fără a instala Microsoft Excel sau orice runtime proprietar.

Biblioteca oferă două niveluri de acces. La nivelul inferior, cfb_reader și cfb_writer dau control complet asupra containerelor binare CFB intrările directoriilor traversale, citesc și scriu nodurile de stocare și fluxurile datelor și inspectează structura sectorului brut. msg_reader şi msg_writer gestionează formatul MSG deasupra CF B, expunând fluxuri ale proprietății MAPI, tabele destinatarilor și sub-stocări de atașamente. la nivel înalt,mapi_message vă permite să creați noi mesaje de la zero, citiți subiecte, destinatari și corpuri și să convertiți între formatele MS G și EML. Biblioteca se construiește pe orice platformă cu un compilator C++17 și nu are dependențe externe, făcându-l potrivit pentru Windows, Linux, macOS, containere Docker și sisteme încorporate. O ediție pentru întreprinderi cu caracteristici suplimentare este oferită sub numele de Aspose.Email for C++.

CFB Container Citire și scriere

  • ** Deschide fișiere CFB:** Încărcați containerele CF B existente dintr-o cale de dosar, flux sau matrice de baiti prin cfb_reader::from_file(), cfb_reader::from_stream() sau cfb_reader::from_bytes().
  • ** Treceți prin arborele de directori:** Enumerați stocarea și fluxurile folosind storage_ids(), stream_ids() și child_ids() , și navigați în ierarhii cuibăstrate cu resolve_path().
  • Inspect noduri: Verificați tipul de nod cu cfb_node::is_storage() și cfb_node::is_stream(), citiți timestamps prin intermediul creation_time() si modified_time().
  • Scriu containere CFB: Construiți documentele CF B programatic cu cfb_document și serializați în baiti sau fișier prin cfb_writer::to_bytes() sau cfb_writer::write_file().

În cazul în care se utilizează accesul CFB

  • ** Inspecția fișierului MSG:** CFB este formatul de container pentru fișierele Outlook .msg accesul direct la CF B permite inspecție și reparare forensică.
  • ** Formatele binare personalizate:** Orice aplicație veche care utilizează CFB pentru stocarea datelor poate fi citită sau scrisă fără o dependență COM.
  • ** Recuperarea datelor:** Treci prin arborele complet al directoriilor și extrageți baiti de flux cruzi din fișiere CFB deteriorate sau ne-standard.

Fişier MSG Citit şi scris

  • Citește fișiere MSG: Deschideți fișii Outlook MS G cu msg_reader::from_file() sau msg_reader::from_stream() și accesați fluxurile de proprietate MAPI subiacentă și subspațelele de stocare a atașamentelor.
  • Scriu fișiere MSG: Produce fișeuri MS G dintr-un msg_document cu msg_writer::to_bytes() sau msg_writer::write_file().
  • ** Inspecția documentului MSG:** Accesarea metadatelor versiunii prin msg_document::major_version(), msg_document::minor_version() și verificarea rigurozității cu msg_document::strict().
  • Convertiti în CFB: Extrageți documentul CF B de la un fișier MSG prin msg_document::to_cfb_document().

În cazul în care se utilizează procesarea MSG-ului

  • ** Pipelines de arhivare e-mail:** Fișierele .msg citite în masă din directorii de archive și extrag metadate sau atașamente.
  • ** Instrumente de migrare:** Convertiți colecțiile MSG în formate standard pentru import în sisteme care nu sunt Outlook.
  • ** Descoperire legală:** Analizați fluxurile de proprietate MAPI brute pentru a extrage toate câmpurile mesajelor, inclusiv proprietățile ne-standard.

API de mesaje MAPI la nivel înalt

  • Crearea de mesaje: Construiți un e-mail complet cu mapi_message::create(), apoi setati subiectul, corpul și corpusul HTML prin intermediul set_subject() , set_body() și set_html_body().
  • ** Setare a detaliilor de trimitere:** Configurați set_sender_name(), set_sender_email_address() și set_sender_address_type() pentru mesajul ieșitor.
  • Gestionați atașamentele: Încărcați anexele din baiti sau fluxuri cu mapi_attachment::from_bytes() și mapi_attachment::from_stream(), și verificați dacă există mesaje încorporate prin intermediul is_embedded_message().
  • ** Salvare și relocarea:** Serializare cu mapi_message::save() și încărcare cumapi_message::from_file() sau mapi_message::from_stream().

Unde se utilizează API-ul de nivel înalt

  • ** Generația automată de e-mail:** Generă mii de fișiere MSG personalizate din înregistrări de date în locuri de muncă batch.
  • Crearea instalațiilor de testare: Construirea fișierelor MSG cunoscute cu conținut previzibil pentru suitele de teste de integrare.
  • Extracția atașamentelor: Încărcați un fișier MSG, iterationați ataşamentele și salvați fiecare pe disc.

Conversie EML și MIME

  • ** încărcare EML în mapi_message:** Parsează un fișier standard .eml (RFC 5322 / MIME) într-un obiect complet mapi_message prin intermediul mapi_message::load_from_eml().
  • ** Salvați mapi_message ca EML:** Serializați un mapi_message înapoi în format MIME cu save_to_eml().
  • Fidelitatea la întoarcere: Subiectul, corpul, expeditorul și fișele atașate sunt păstrate prin EML-MSG-EML.

Unde se utilizează conversiunea EML

  • Format de punte: Recepționați e-mailuri ca EML din serverele de poștă și convertiți la MSG pentru stocarea compatibilă cu Outlook.
  • ** Conformitate cu standardele:** Convertiți fișiere MSG proprietare în MIME standard pentru livrare la orice transport poștal.
  • Arhivă normalizare: Normalizați o arhiva mixtă de fișiere .eml și .msg într-un singur format.

Citeste subiectul dintr-un fișier MSG

Deschideți un fișier Outlook MSG dintr-un flux și imprimați subiectul nu este necesar 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';
}

Crearea și salvarea unui mesaj MSG

Construiți un e-mail complet cu expeditor, destinatar și atașament, apoi scrieți în ambele formate MSG ș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);
}
  

Support and Learning Resources

 Română