FOSS per a C++ és una biblioteca de codi obert MIT-licenciada en C ++ per treballar amb arxius Microsoft Outlook .msg i contenidors Compound File Binary (CFB). Incloure els encabezats via CMake i començar immediatament la lectura, creació i processament dels missatges d’e-mail sense instal·lar Microsoft Excel o qualsevol temps d ’exécution propietari.
La biblioteca proporciona dos nivells d’accés. En el nivell baix, cfb_reader i cfb_writer donen control total sobre els contenidors binaris CFB entrades de directori transversals, llegeixen i escriuen nodes de magatzem i dades de flux, i inspeccionen l’estatus del sector brut. msg_reader I msg_writer gestionen el format MSG a la part superior de CF B, exposant fluxos de propietats MAPI, taules de destinatari i sub-emmagatzematges d ‘accessibles. Al nivell alt,mapi_message et permet crear nous missatges des de zero, llegir temes, receptors i cossos, així com convertir entre format EML i MS G.
La biblioteca es construeix en qualsevol plataforma amb un compilador C++17 i no té dependències externes, fent-la adequada per a Windows, Linux, macOS, contenidors Docker i sistemes incrustats.
Una edició empresarial amb característiques addicionals s’ofereix com a 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 navega per jerarquies anidades amb resolve_path().cfb_node::is_storage() i cfb_node::is_stream(), llegeix les estampades d’hora a través de creation_time() o modified_time().cfb_document i serialitzar en bytes o arxiu a través d’cfb_writer::to_bytes() o cfb_writer::write_file()..msg l’accés directe al CF B permet inspecció i reparació forense.msg_reader::from_file() o msg_reader::from_stream() i accedeix als fluxos de propietats MAPI subjacents i a les sub-emmagatzemes d’accesos.msg_document amb msg_writer::to_bytes() o msg_writer::write_file().msg_document::major_version(), msg_document::minor_version() i comprovar l’estricte amb msg_document::strict().msg_document::to_cfb_document()..msg des dels directoris d"archiu i extraure metadades o anexos.mapi_message::create(), després definir el tema, el cos i el còdex HTML a través de 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 comprovar si hi ha missatges incrustats a través d’is_embedded_message().mapi_message::save() i recarrejar ambmapi_message::from_file() o mapi_message::from_stream()..eml estàndard (RFC 5322 / MIME) en un objecte complet mapi_message a través de mapi_message::load_from_eml().mapi_message de nou al format MIME amb save_to_eml()..eml i .msg fitxers en un únic format.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';
}
Construeix un correu electrònic complet amb remitent, destinatari i adjunt, després escriu-lo tant en formats MSG com 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);
}