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

Aspose.Email FOSS for C++

Čitaj, kreiraj i obrađuj Outlook MSG datoteke i CFB kontejnere iz C++ — besplatno i otvorenog koda, bez ovisnosti o Microsoft Outlooku.

Open-Source C++ knjižnica za MSG i CFB datoteke

Aspose.Email FOSS za C++ je MIT-licencirana, open-source C++ biblioteka za rad s Microsoft Outlook .msg datotekama i Compound File Binary (CFB) kontejnerima. Uključite zaglavlja putem CMake-a i odmah počnite čitati, stvarati i obrađivati e‑mail poruke bez instalacije Microsoft Outlooka ili bilo kojeg vlasničkog runtimea.

Biblioteka pruža dvije razine pristupa. Na niskoj razini, cfb_reader i cfb_writer daju potpunu kontrolu nad CFB binarnim kontejnerima — prolazite kroz unose direktorija, čitate i pišete čvorove pohrane i podatke tokova, te pregledavate sirovi raspored sektora. msg_reader i msg_writer obrađuju MSG format na vrhu CFB-a, izlažući MAPI tokove svojstava, tablice primatelja i pod‑pohrane privitaka. Na visokoj razini, mapi_message vam omogućuje stvaranje novih poruka od nule, čitanje naslova, tijela, primatelja i privitaka, te konverziju između MSG i EML formata.

Biblioteka se može izgraditi na bilo kojoj platformi s C++17 kompajlerom i nema vanjske ovisnosti, što je čini prikladnom za Windows, Linux, macOS, Docker kontejnere i ugrađene sustave.

Enterprise izdanje s dodatnim značajkama nudi se kao Aspose.Email for C++.

CFB kontejner čitanje i pisanje

  • Otvorite CFB datoteke: Opterećiti postojeće CF B kontejnere iz putanje, tok ili bajtni niz datotek putem cfb_reader::from_file(), cfb_reader::from_stream() , ili cfb_reader::from_bytes().
  • Proputovanje kroz stablo direktorija: Popisati pohranjivanja i tokova koristeći storage_ids(), stream_ids() , i child_ids() , a navigacija ugneštene hijerarhije s resolve_path().
  • Pogledajte čvorove: Provjerite tip čvora s cfb_node::is_storage() i cfb_node::is_stream(), pročitajte časovnike putem creation_time() ili modified_time().
  • Pisati CFB kontejnere: Programski izgraditi CF B dokumente s cfb_document i serijalno u bajtove ili datoteke putem cfb_writer::to_bytes() ili cfb_writer::write_file().

U kojem se CFB pristup koristi

  • MSG inspekcija datoteke: CFB je format kontejnera za Outlook .msg datotek direktni pristup CFb omogućuje forenzičku inspekciju i popravak.
  • Kustomni binarni formati: Svaka stara aplikacija koja koristi CFB za pohranu podataka može se čitati ili pisati bez COM ovisnosti.
  • Pobiranje podataka: Prolazite kroz cjelokupno stablo direktorija i izvlačite sirove bajtove toka iz oštećenih ili nestandardnih CFB datoteka.

MSG datoteka Čitati i pisati

  • Čita MSG datoteke: Otvorite Outlook MS G datotekama s msg_reader::from_file() ili msg_reader::from_stream() i pristupiti temeljnim MAPI svojstva tokova i prilozi pod-stora.
  • Pisati MSG datoteke: Izraditi MS G datotekama iz msg_document s msg_writer::to_bytes() ili msg_writer::write_file().
  • ** Inspekcija MSG dokumenta:** Pristup metapodatkama verzije putem msg_document::major_version(), msg_document::minor_version() i provjera strogosti s msg_document::strict().
  • Preusmjeriti u CFB: Izvadite temeljni dokument CF B iz MSG datoteke putem msg_document::to_cfb_document().

Gdje se koristi obrada MSG-a

  • Arhivske e-mailove: Veoma čitanje .msg datoteka iz arhivskih direktorija i ekstrakcija metapodataka ili priloga.
  • Oprema za migraciju: Konvertirajte zbirke MSG-a u standardne formate za uvoz u sustave koji nisu Outlook.
  • Pravni otkriće: Proučiti sirove MAPI svojstva tokova za izvlačenje svih polja poruke, uključujući nestandardna svojstava.

MAPI API za poruke visoke razine

  • Stvarite poruke: Stvoriti kompletnu e-poštu s mapi_message::create(), zatim postaviti predmet, tijelo i HTML telo putem set_subject() , set_body() i set_html_body().
  • Uređenje podataka o šalju: Konfigurirajte set_sender_name(), set_sender_email_address() i set_sender_address_type() za izlazuću poruku.
  • ** Upravljanje prilozima:** Opterećite priloge iz bajta ili tokova pomoću mapi_attachment::from_bytes() i mapi_attachment::from_stream(), te provjerite uložene poruke putem is_embedded_message().
  • Spoštovanje i ponovno punjenje: Serijaliziranje s mapi_message::save() i ponovno punjanje sa mapi_message::from_file() ili mapi_message::from_stream().

Gdje se koristi API na visokom nivou

  • Automatska generacija e-pošte: Generirajte tisuće personaliziranih MSG datoteka iz podataka u serijskim radovima.
  • Stvaranje testnih uređaja: Izgraditi poznate dobre MSG datoteke s predvidljivim sadržajem za integracijske testne pakete.
  • Izvadba prilozi: Uplatiti MSG datoteku, iterirati priloge i sačuvati svaki na disk.

Uređenje i izmjena podataka u skladu s člankom 7. stavkom 1.

  • Pune EML u mapi_message: Prouči standardnu datoteku .eml (RFC 5322 / MIME) u puni objekt mapi_message putem mapi_message::load_from_eml().
  • Save mapi_message kao EML: Serijalizira mapi_message natrag u MIME format s save_to_eml().
  • Vjernost u povratnom putu: Subjekt, tijelo, šaljivač, primaoci i prilozi čuvaju se putem putovanja iz EML-a do MSG-e.

Gdje se koristi pretvaranje EML-a

  • ** Formatski prelazak:** Prihvatite e-pošte kao EML od mail servera i pretvorite u MSG za Outlook kompatibilno pohranjivanje.
  • Slušavanje standarda: Konvertirati vlasničke MSG datoteke u standardne MIME za isporuku bilo kojem poštanskom transportu.
  • Arhivska normalizacija: Normalizirati mješovitu arhivu datoteka .eml i .msg u jedan format.

Čitanje predmeta iz MSG datoteke

Otvorite Outlook MSG datoteku iz toka i ispisati predmet ne zahtijeva 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';
}

Stvaranje i pohranjivanje MSG poruke

Izgradite kompletnu e-poštu s pošiljateljem, primaocem i priloženim datotekom, a zatim je napišite u MSG i EML formatu.

#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);
}
  

Resursi za podršku i učenje

 Hrvatski