Aspose.Email FOSS per a C++ és una biblioteca C++ de codi obert amb llicència MIT per treballar amb fitxers .msg de Microsoft Outlook i contenidors Compound File Binary (CFB). Incloeu les capçaleres mitjançant CMake i comenceu immediatament a llegir, crear i processar missatges de correu electrònic sense instal·lar Microsoft Outlook ni cap entorn d’execució propietari.
La biblioteca ofereix dos nivells d’accés. A nivell baix, cfb_reader i cfb_writer donen control total sobre contenidors binaris CFB — recórrer les entrades del directori, llegir i escriure nodes d’emmagatzematge i dades de flux, i inspeccionar la disposició bruta dels sectors. msg_reader i msg_writer gestionen el format MSG sobre CFB, exposant fluxos de propietats MAPI, taules de destinataris i subemmagatzematges d’adjuncions. A nivell alt, mapi_message et permet crear nous missatges des de zero, llegir temes, cossos, destinataris i adjuncions, i convertir entre els formats MSG i EML.
La biblioteca es construeix en qualsevol plataforma amb un compilador C++17 i no té dependències externes, la qual cosa la fa adequada per a Windows, Linux, macOS, contenidors Docker i sistemes incrustats.
Una edició empresarial amb funcions addicionals s’ofereix com Aspose.Email for C++.
cfb_reader::from_file(), cfb_reader::from_stream() o cfb_reader::from_bytes().storage_ids(), stream_ids() i child_ids(), i navegar per jerarquies anidades amb resolve_path().cfb_node::is_storage() i cfb_node::is_stream(), llegeix les marques de temps via creation_time() i modified_time().cfb_document i serialitza a bytes o fitxer mitjançant cfb_writer::to_bytes() o cfb_writer::write_file()..msg d’Outlook — l’accés directe a CFB permet la inspecció forense i la reparació.msg_reader::from_file() o msg_reader::from_stream() i accediu als fluxos de propietats MAPI subjacents i als submagatzems d’adjuncions.msg_document amb msg_writer::to_bytes() o msg_writer::write_file().msg_document::major_version(), msg_document::minor_version(), i comproveu la rigorositat amb msg_document::strict().msg_document::to_cfb_document()..msg des de directoris d’arxiu i extreure metadades o adjunts.mapi_message::create(), després estableix l’assumpte, el cos i el cos HTML mitjançant set_subject(), set_body() i set_html_body().set_sender_name(), set_sender_email_address() i set_sender_address_type() per al missatge sortint.mapi_attachment::from_bytes() i mapi_attachment::from_stream(), i comprova si hi ha missatges incrustats mitjançant is_embedded_message().mapi_message::save() i recarrega amb mapi_message::from_file() o mapi_message::from_stream()..eml estàndard (RFC 5322 / MIME) en un objecte mapi_message complet mitjançant mapi_message::load_from_eml().mapi_message de tornada al format MIME amb save_to_eml()..eml i .msg a un format únic.Obre un fitxer Outlook MSG des d’un flux i imprimeix l’assumpte — no cal 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';
}
Creeu un correu electrònic complet amb remitent, destinatari i adjunt, i després deseu-lo tant en format MSG com en format 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);
}