1. Termékek
  2.   Aspose.Email
  3.   Aspose.Email FOSS for C++

Aspose.Email FOSS C++-hez

Olvasd, hozd létre és dolgozd fel az Outlook MSG fájlokat és CFB konténereket C++‑ból — ingyenes és nyílt forráskódú, Microsoft Outlook függőség nélkül.

Nyílt forráskódú C++ könyvtár MSG és CFB fájlokhoz

Aspose.Email FOSS for C++ egy MIT-licencű, nyílt forráskódú C++ könyvtár a Microsoft Outlook .msg fájlok és a Compound File Binary (CFB) tárolók kezelésére. A fejléceket CMake‑en keresztül lehet beilleszteni, és azonnal elkezdhet e‑mail üzeneteket olvasni, létrehozni és feldolgozni anélkül, hogy a Microsoft Outlookot vagy bármilyen tulajdonosi futtatókörnyezetet telepítenénk.

A könyvtár két szintű hozzáférést biztosít. Alacsony szinten a cfb_reader és a cfb_writer teljes irányítást ad a CFB bináris konténerek felett — bejárhatja a könyvtárbejegyzéseket, olvashat és írhat tárolócsomópontokat és adatfolyamokat, valamint ellenőrizheti a nyers szektor elrendezést. A msg_reader és a msg_writer kezeli a MSG formátumot a CFB tetején, kinyitva a MAPI property streams, a recipient tables és a attachment sub-storages elemeket. Magas szinten a mapi_message lehetővé teszi új üzenetek létrehozását a semmiből, a tárgyak, a szövegtörzsek, a címzettek és a mellékletek olvasását, valamint a MSG és az EML formátum közötti konvertálást. A könyvtár bármely, C++17 fordítóval rendelkező platformon építhető, és nincs külső függősége, ami alkalmassá teszi Windows, Linux, macOS, Docker konténerek és beágyazott rendszerek számára. Vállalati kiadás további funkciókkal Aspose.Email for C++ formájában érhető el.

CFB konténer olvasása és írása

  • CFB fájlok megnyitása: Töltsön be meglévő CFB konténereket fájlútról, streame-ből vagy bájt tömbből a cfb_reader::from_file(), cfb_reader::from_stream() vagy cfb_reader::from_bytes() segítségével.
  • A könyvtárfa bejárása: Tárolókat és adatfolyamokat soroljon fel a storage_ids(), stream_ids() és child_ids() használatával, és a beágyazott hierarchiákat a resolve_path() segítségével navigálja.
  • Csomópontok ellenőrzése: Ellenőrizze a csomópont típusát a cfb_node::is_storage() és cfb_node::is_stream() segítségével, olvassa a timestamp-eket a creation_time() és modified_time() segítségével.
  • CFB konténerek írása: Készíts CFB dokumentumokat programozott módon a cfb_document segítségével, és sorosítsd bájtokba vagy fájlba a cfb_writer::to_bytes() vagy a cfb_writer::write_file() használatával.

Ahol a CFB hozzáférés használatos

  • MSG fájl ellenőrzése: A CFB az Outlook .msg fájlok konténerformátuma — a közvetlen CFB hozzáférés lehetővé teszi a kriminalisztikai ellenőrzést és javítást.
  • Egyedi bináris formátumok: Bármely régi alkalmazás, amely CFB-t használ adat tárolására, olvasható vagy írható COM függőség nélkül.
  • Adat-helyreállítás: Bejárja a teljes könyvtárfát, és kinyeri a nyers adatfolyam bájtjait a sérült vagy nem szabványos CFB fájlokból.

MSG fájl olvasása és írása

  • MSG fájlok olvasása: Nyissa meg az Outlook MSG fájlokat a msg_reader::from_file() vagy a msg_reader::from_stream() segítségével, és érje el az alapul szolgáló MAPI tulajdonságáramokat és a melléklet al‑tárolókat.
  • MSG fájlok írása: MSG fájlokat készít egy msg_document alapján msg_writer::to_bytes() vagy msg_writer::write_file() használatával.
  • MSG dokumentum ellenőrzése: Hozzáférés a verzió metaadatokhoz a msg_document::major_version(), msg_document::minor_version() segítségével, és ellenőrizze a szigorúságot a msg_document::strict() használatával.
  • Átalakítás CFB-re: Az MSG fájlból a mögöttes CFB dokumentum kinyerése a msg_document::to_cfb_document() segítségével.

Ahol az MSG feldolgozást használják

  • Email archival pipelines: Tömeges olvasás .msg fájlokból az archív könyvtárakból, és metaadatok vagy mellékletek kinyerése.
  • Migrációs eszközök: Konvertálja a MSG gyűjteményeket szabványos formátumokra a nem Outlook rendszerekbe való importáláshoz.
  • Jogi felderítés: Nyers MAPI tulajdonságáramok elemzése az összes üzenetmező, beleértve a nem szabványos tulajdonságokat, kinyeréséhez.

Magas szintű MAPI üzenet API

  • Üzenetek létrehozása: Építsen fel egy teljes e‑mailt a mapi_message::create() segítségével, majd állítsa be a tárgyat, a törzset, és a HTML törzset a set_subject(), set_body() és set_html_body() segítségével.
  • Állítsa be a feladó adatait: Konfigurálja a set_sender_name(), set_sender_email_address() és set_sender_address_type() értékeket a kimenő üzenethez.
  • Mellékletek kezelése: Töltsön be mellékleteket bájtokból vagy adatfolyamokból a mapi_attachment::from_bytes() és mapi_attachment::from_stream() segítségével, és ellenőrizze a beágyazott üzeneteket a is_embedded_message() használatával.
  • Mentés és újratöltés: Sorozatba szervezze a mapi_message::save() használatával, és töltse újra a mapi_message::from_file() vagy mapi_message::from_stream() segítségével.

Ahol a magas szintű API-t használják

  • Automatizált e-mail generálás: Generáljon több ezer személyre szabott MSG fájlt adatrekordokból kötegelt feladatokban.
  • Teszt rögzítő létrehozása: Építsen ismert jó MSG fájlokat előre meghatározott tartalommal az integrációs tesztkészletekhez.
  • Melléklet kinyerése: Tölts be egy MSG fájlt, iteráld a mellékleteket, és mentsd el mindegyiket a lemezen.

EML és MIME konverzió

  • EML betöltése a mapi_message-be: Elemezzen egy szabványos .eml fájlt (RFC 5322 / MIME) egy teljes mapi_message objektummá a mapi_message::load_from_eml() segítségével.
  • Mentsd a mapi_message-t EML-ként: Sorozza vissza a mapi_message-t MIME formátumba a save_to_eml() használatával.
  • Round-trip fidelity: Tárgy, törzs, feladó, címzettek és mellékletek megmaradnak az EML → MSG → EML körutazások során.

Ahol az EML konverziót használják

  • Formátum áthidalás: Fogadjon e-maileket EML formátumban a levelezőszerverekről, és konvertálja MSG formátumba az Outlook-kompatibilis tároláshoz.
  • Szabványoknak való megfelelés: Konvertálja a tulajdonosi MSG fájlokat szabványos MIME formátumba, hogy bármely levélátviteli rendszerhez szállíthatók legyenek.
  • Archív normalizálás: Normalizáljon egy vegyes archívumot .eml és .msg fájlokból egyetlen formátumra.

Tárgy beolvasása egy MSG fájlból

Nyisson meg egy Outlook MSG fájlt egy adatfolyamból, és nyomtassa ki a tárgyat — Microsoft Outlook nélkül.

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

MSG üzenet létrehozása és mentése

Készíts egy teljes e-mailt feladóval, címzettel és melléklettel, majd írd ki mind MSG, mind EML formátumban.

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

Támogatás és tanulási források

 Magyar