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

Aspose.Email FOSS priekš C++

Lasiet, izveidojiet un apstrādājiet Outlook MSG failus un CFB konteinerus no C++ — bezmaksas un atvērtā koda, bez Microsoft Outlook atkarības.

Atvērtā koda C++ bibliotēka MSG un CFB failiem

Aspose.Email FOSS for C++ ir MIT licences, atvērtā koda C++ bibliotēka, kas ļauj strādāt ar Microsoft Outlook .msg failiem un Compound File Binary (CFB) konteineriem. Iekļaujiet galvenes, izmantojot CMake, un uzreiz sāciet lasīt, izveidot un apstrādāt e-pasta ziņojumus, neinstalējot Microsoft Outlook vai kādu proprietāru izpildlaiku.

Bibliotēka nodrošina divus piekļuves līmeņus. Zemējā līmenī cfb_reader un cfb_writer sniedz pilnīgu kontroli pār CFB binārajiem konteineriem — pārlūko direktoriju ierakstus, lasa un raksta glabāšanas mezglus un plūsmas datus, un pārbauda neapstrādāto sektoru izkārtojumu. msg_reader un msg_writer apstrādā MSG formātu virs CFB, atklājot MAPI īpašību plūsmas, saņēmēju tabulas un pievienojumu apakšglabāšanas vietas. Augstākajā līmenī mapi_message ļauj izveidot jaunas ziņas no nulles, nolasīt tēmas, ķermeņus, saņēmējus un pievienojumus, kā arī konvertēt starp MSG un EML formātu. Bibliotēka tiek izveidota jebkurā platformā ar C++17 kompilatoru un tai nav ārējām atkarībām, padarot to piemērotu Windows, Linux, macOS, Docker konteineriem un iegultām sistēmām. Uzņēmuma izdevums ar papildu funkcijām tiek piedāvāts kā Aspose.Email for C++.

CFB konteineru lasīšana un rakstīšana

  • Open CFB files: Ielādējiet esošos CFB konteinerus no faila ceļa, straumes vai baitu masīva, izmantojot cfb_reader::from_file(), cfb_reader::from_stream() vai cfb_reader::from_bytes().
  • Pārlūkot direktoriju koku: Uzskaitīt krātuves un plūsmas, izmantojot storage_ids(), stream_ids() un child_ids(), un pārvietoties caur ligzdotām hierarhijām ar resolve_path().
  • Pārbaudiet mezglus: Pārbaudiet mezgla tipu ar cfb_node::is_storage() un cfb_node::is_stream(), nolasiet laika zīmes caur creation_time() un modified_time().
  • Rakstīt CFB konteinerus: Izveidojiet CFB dokumentus programmatiski, izmantojot cfb_document un serializējiet uz baitiem vai failu, izmantojot cfb_writer::to_bytes() vai cfb_writer::write_file().

Kur tiek izmantota CFB piekļuve

  • MSG faila pārbaude: CFB ir konteineru formāts Outlook .msg failiem — tieša CFB piekļuve ļauj veikt forensisku pārbaudi un labošanas darbus.
  • Pielāgoti binārie formāti: Jebkura vecāka lietojumprogramma, kas izmanto CFB datu glabāšanai, var tikt nolasīta vai rakstīta bez COM atkarības.
  • Data recovery: Pārlūkojiet pilnu direktoriju koku un izvelciet neapstrādātus plūsmas baitus no bojātiem vai nestandarta CFB failiem.

MSG failu lasīšana un rakstīšana

  • Lasīt MSG failus: Atveriet Outlook MSG failus, izmantojot msg_reader::from_file() vai msg_reader::from_stream() un piekļūstiet pamatā esošajiem MAPI īpašību plūsmām un pievienojumu apakšglabātuviem.
  • Rakstīt MSG failus: Izveidot MSG failus no msg_document ar msg_writer::to_bytes() vai msg_writer::write_file().
  • MSG dokumenta pārbaude: Piekļūstiet versijas metadatiem caur msg_document::major_version(), msg_document::minor_version(), un pārbaudiet stingrību ar msg_document::strict().
  • Konvertēt uz CFB: Izgūstiet pamatā esošo CFB dokumentu no MSG faila, izmantojot msg_document::to_cfb_document().

Kur tiek izmantota MSG apstrāde

  • E-pasta arhivēšanas cauruļvadi: Lielapjoma nolasīšana .msg failu no arhīva direktorijām un izguve metadatus vai pielikumus.
  • Migrācijas rīki: Pārvērst MSG kolekcijas uz standartformātiem, lai importētu tos ne‑Outlook sistēmās.
  • Juridiskā atklāšana: Parsējiet neapstrādātus MAPI īpašību plūsmas, lai izvilktu visus ziņojuma laukus, ieskaitot nestandarta īpašības.

Augsta līmeņa MAPI ziņojumu API

  • Izveidot ziņojumus: Izveidojiet pilnu e-pastu ar mapi_message::create(), pēc tam iestatiet tematu, saturu un HTML saturu, izmantojot set_subject(), set_body() un set_html_body().
  • Set sender details: Konfigurējiet set_sender_name(), set_sender_email_address() un set_sender_address_type() izejošajam ziņojumam.
  • Pārvaldiet pielikumus: Ielādējiet pielikumus no baitiem vai straumēm, izmantojot mapi_attachment::from_bytes() un mapi_attachment::from_stream(), un pārbaudiet, vai ir iegultas ziņas, izmantojot is_embedded_message().
  • Saglabāt un pārlādēt: Serializēt, izmantojot mapi_message::save(), un pārlādēt, izmantojot mapi_message::from_file() vai mapi_message::from_stream().

Kur tiek izmantots augsta līmeņa API

  • Automatizēta e-pasta ģenerēšana: Ģenerējiet tūkstošiem personalizētu MSG failu no datu ierakstiem grupas darbos.
  • Testa fiksācijas izveide: Izveidojiet zināmi pareizus MSG failus ar paredzamu saturu integrācijas testu komplektiem.
  • Pielikumu izguve: Ielādējiet MSG failu, pārlūkojiet pielikumus un saglabājiet katru diskā.

EML un MIME konvertēšana

  • Load EML into mapi_message: Parsēt standarta .eml failu (RFC 5322 / MIME) par pilnu mapi_message objektu, izmantojot mapi_message::load_from_eml().
  • Saglabāt mapi_message kā EML: Serializēt mapi_message atpakaļ uz MIME formātu ar save_to_eml().
  • Round-trip fidelity: Temats, saturs, nosūtītājs, saņēmēji un pielikumi tiek saglabāti, veicot EML uz MSG uz EML pārejas.

Kur tiek izmantota EML konvertēšana

  • Formāta tilts: Saņemiet e-pastus kā EML no pasta serveriem un konvertējiet uz MSG, lai būtu Outlook‑savietojamā glabāšana.
  • Standartu atbilstība: Pārvērst proprietārus MSG failus uz standarta MIME, lai tos varētu piegādāt jebkuram pasta transportam.
  • Arhīvu normalizācija: Normalizējiet jauktu arhīvu, kas satur .eml un .msg failus, uz vienu formātu.

Nolasīt tematu no MSG faila

Atveriet Outlook MSG failu no plūsmas un izdrukājiet tematu — nav nepieciešams 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';
}

Izveidot un saglabāt MSG ziņojumu

Izveidojiet pilnīgu e-pastu ar sūtītāju, saņēmēju un pielikumu, pēc tam ierakstiet to gan MSG, gan EML formātos.

#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

 Latviešu