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

Aspose.Email FOSS for C++

Čitajte, kreirajte i obrađujte Outlook MSG fajlove i CFB kontejnere iz C++ — besplatno i open‑source, bez zavisnosti od Microsoft Outlook‑a.

Склонна библиотека Ц++ за ФАјлове МСГ и КФБ

Aspose.Email FOSS za C++ je MIT-licencirana, open-source C++ biblioteka za rad sa Microsoft Outlook .msg fajlovima i Compound File Binary (CFB) kontejnerima. Uključite zaglavlja putem CMake-a i odmah počnite da čitate, kreirate i obrađujete email poruke bez instalacije Microsoft Outlook-a ili bilo kog vlasničkog runtime-a.

Biblioteka pruža dva nivoa pristupa. Na niskom nivou, cfb_reader i cfb_writer daju potpunu kontrolu nad CFB binarnim kontejnerima — pretražuju direktorijumske unose, čitaju i pišu čvorove skladišta i podatke tokova, i pregledaju sirovi raspored sektora. msg_reader i msg_writer obrađuju MSG format na vrhu CFB-a, izlažu MAPI svojstva tokova, tabele primalaca i pod-skladišta priloga. Na visokom nivou, mapi_message vam omogućava da kreirate nove poruke od nule, čitate naslove, telo, primaoce i priloge, i konvertujete između MSG i EML formata.

Biblioteka se gradi na bilo kojoj platformi sa C++17 kompajlerom i nema spoljne zavisnosti, što je čini pogodnom za Windows, Linux, macOS, Docker kontejnere i ugradjene sisteme.

Enterprise izdanje sa dodatnim funkcionalnostima se nudi kao Aspose.Email for C++.

ЦФБ контејнер читање и писање

  • ** Отвори ЦФБ датотеке:** Уградите постојеће ЦFБ контејнере са траге, струје или бајт маријева путем cfb_reader::from_file(), cfb_reader::from_stream() или cfb_reader::from_bytes().
  • ** Пролази кроз дрво директорија:** Упишите складиштења и струје користећи storage_ids(), stream_ids() и child_ids() , а навигацију у гнезденим хиерархијама уз помоћ resolve_path().
  • ** Проверите чвореве:** Провери тип чворова са cfb_node::is_storage() и cfb_node::is_stream(), прочитајте временске ознаке преко creation_time() или modified_time().
  • ** Написати CFB контејнере:** Створити ЦФБ документе програматично са cfb_document и серијализовати у бајтове или датотеке преко cfb_writer::to_bytes() или cfb_writer::write_file().

Где се користи ЦФБ приступ

  • Испитација МСГ датотеке: ЦФБ је формат контејнера за Outlook .msg фајлове директни приступ ЦFB омогућава судску инспекцију и поправку.
  • Кастумисани бинарни формати: Свака стара апликација која користи ЦФБ за складиштење података може се читати или писати без зависности од COM.
  • Опоравачи података: Пролази кроз цело дрво директорија и извука сирове бајте струје из оштећених или нестандартних ЦФБ датотека.

Файл MSG Читати и писати

  • Прочитање МСГ датотеке: Отвори Outlook МSG датомтеце са msg_reader::from_file() или msg_reader::from_stream() и приступи основним MAPI струјама својства и додатној под-храњи.
  • Пишите МСГ датотеке: Производим МSG датомтеце из msg_document са msg_writer::to_bytes() или msg_writer::write_file().
  • ** Проверење документа MSG:** Доступ метаподацима верзије преко msg_document::major_version(), msg_document::minor_version() и проверите строгост са msg_document::strict().
  • ** Преображавање у ЦФБ:** Извуците темељни ЦFБ документ из МСГ датотеке преко msg_document::to_cfb_document().

Где се користи прерада МСГ-а

  • Архивирани пип-линови е-поште: Файлови за читање .msg из архивских директорија и екстракција метадата или додатака.
  • ** алати за миграцију:** Конвертирајте колекције МСГ у стандардне форматске облике за увоз у системе које нису Outlook.
  • Легално откриће: Расудите сирове струје својстава МАПИ-а да бисте извукли све поље поруке укључујући и нестандартне особине.

АПИ за поруке на високом нивоу MAPI-а

  • Стварање порука: Створити комплетну е-пошту са mapi_message::create(), а затим поставити предмет, тело и HTML тело путем set_subject(), set_body() и set_html_body().
  • Намести детаље пошаљача: Конфигурише set_sender_name(), set_sender_email_address() и set_sender_address_type() за исходяћу поруку.
  • Управљање додацима: Уграђивање додатка из бајтова или струја са mapi_attachment::from_bytes() и mapi_attachment::from_stream(), и проверавати уграђене поруке преко is_embedded_message().
  • ** Сачување и препоручавање:** Серијализовати са mapi_message::save() и поново пуштати саmapi_message::from_file() или mapi_message::from_stream().

Где се користи АПИ високог нивоа

  • Автоматизована генерација е-поште: Генеришете хиљаде персонализованих МСГ датотека из записа података у парчевима.
  • ** Стварање тестовог уређаја:** Изградите познате добре МСГ датотеке са предвидивим садржајем за интеграционе тест-суитове.
  • Истракција додатака: Покушајте да унесете MSG фајл, итерацију приложка и сачувајте сваки на диск.

EML и MIME конверзија

  • Уређивање EML у mapi_message: Расуда стандардне .eml фајле (RFC 5322 / MIME) у пуни mapi_message објекат преко mapi_message::load_from_eml().
  • ** Сачувај mapi_message као EML:** Серијализирај mapi_message у MIME формат са save_to_eml().
  • Враћај-попут верност: Предмет, тело, послалац, примаоци и додате информације се чувају кроз ЕМЛ до МСГ до ЕМС враћеним путовањима.

Где се користи преображавање ЕМЛ-а

  • ** Формат прелаз:** Прихватајте е-поште као ЕМЛ од поштенских сервера и конвертујете их у МСГ за Outlook компатибилно складиштење.
  • Соддрженост стандардима: Конвертирајте власничке МГФиле у стандардни МИМЕ за испоруку било ком поштенском превозу.
  • Архивска нормализација: Нормализација мешане архиве .eml и .msg датотеки у један формат.

Прочитање предмета из МСГ датотеке

Отвори Outlook MSG датотеку из струје и штампај предмет не захтева 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';
}

Створити и сачувати поруку МСГ-а

Изградите комплетан е-пошта са послатељем, примаоцем и додаткама, а затим га напишите у оба MSG и 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);
}
  

Support and Learning Resources

 Српски