1. Ürünler
  2.   Aspose.Email
  3.   Aspose.Email FOSS for C++

Aspose.Email FOSS - Aspose.Email C++ için FOSS

Outlook MSG dosyalarını ve CFB konteynerlerini C++‘tan okuyun, oluşturun ve işleyin — ücretsiz ve açık kaynaklı, Microsoft Outlook bağımlılığı yok.

Açık Kaynak C++ Kütüphanesi MSG ve CFB Dosyaları için

Aspose.Email FOSS for C++ MIT-licensed, open-source C++ kütüphanesidir Microsoft Outlook .msg dosyaları ve Compound File Binary (CFB) kapsayıcılarıyla çalışmak için. Başlıkları CMake ile ekleyin ve Microsoft Outlook ya da herhangi bir tescilli çalışma zamanı kurmadan e-posta mesajlarını okumaya, oluşturmaya ve işlemeye hemen başlayın.

Kütüphane iki erişim seviyesi sağlar. Düşük seviyede, cfb_reader ve cfb_writer CFB ikili kapsayıcıları üzerinde tam kontrol sunar — dizin girişlerini dolaşın, depolama düğümlerini ve akış verilerini okuyun ve yazın, ve ham sektör düzenini inceleyin. msg_reader ve msg_writer CFB üzerine MSG formatını işler, MAPI özellik akışlarını, alıcı tablolarını ve ek alt‑depolamalarını ortaya çıkarır. Yüksek seviyede, mapi_message yeni mesajları sıfırdan oluşturmanıza, konu, gövde, alıcılar ve ekleri okumanıza ve MSG ile EML formatı arasında dönüştürmenize olanak tanır. Kütüphane, C++17 derleyicisine sahip herhangi bir platformda çalışır ve harici bağımlılıkları yoktur, bu da Windows, Linux, macOS, Docker konteynerleri ve gömülü sistemler için uygun olmasını sağlar. Ek özelliklere sahip bir kurumsal sürüm Aspose.Email for C++ olarak sunulmaktadır.

CFB Konteyner Okuma ve Yazma

  • CFB dosyalarını aç: Mevcut CFB konteynerlerini bir dosya yolu, akış veya bayt dizisi üzerinden cfb_reader::from_file(), cfb_reader::from_stream() veya cfb_reader::from_bytes() ile yükleyin.
  • Dizin ağacını dolaşın: storage_ids(), stream_ids() ve child_ids() kullanarak depolamaları ve akışları listeleyin ve resolve_path() ile iç içe hiyerarşileri gezin.
  • Düğümleri incele: Düğüm tipini cfb_node::is_storage() ve cfb_node::is_stream() ile kontrol edin, zaman damgalarını creation_time() ve modified_time() aracılığıyla okuyun.
  • CFB kapsayıcılarını yazın: CFB belgelerini programlı olarak cfb_document ile oluşturun ve cfb_writer::to_bytes() veya cfb_writer::write_file() aracılığıyla baytlara veya dosyaya serileştirin.

CFB Erişiminin Kullanıldığı Yer

  • MSG dosyası incelemesi: CFB, Outlook .msg dosyaları için kapsayıcı formatıdır — doğrudan CFB erişimi, adli inceleme ve onarımı mümkün kılar.
  • Custom binary formats: CFB’yi veri depolama için kullanan herhangi bir eski uygulama, COM bağımlılığı olmadan okunabilir veya yazılabilir.
  • Veri kurtarma: Tam dizin ağacını dolaşın ve hasarlı veya standart dışı CFB dosyalarından ham akış baytlarını çıkarın.

MSG Dosya Okuma ve Yazma

  • Read MSG files: Outlook MSG dosyalarını msg_reader::from_file() veya msg_reader::from_stream() ile açın ve temel MAPI özellik akışlarına ve ek alt depolarına erişin.
  • MSG dosyaları yazın: Bir msg_document ile msg_writer::to_bytes() veya msg_writer::write_file() kullanarak MSG dosyaları oluşturun.
  • MSG belge incelemesi: Sürüm meta verilerine msg_document::major_version(), msg_document::minor_version() aracılığıyla erişin ve katılığı msg_document::strict() ile kontrol edin.
  • CFB’ye Dönüştür: msg_document::to_cfb_document() aracılığıyla bir MSG dosyasından temel CFB belgesini çıkarın.

MSG İşleme Kullanıldığı Yer

  • E-posta arşivleme boru hatları: Arşiv dizinlerinden .msg dosyalarını toplu olarak okuyun ve meta verileri veya ekleri çıkarın.
  • Migration tools: MSG koleksiyonlarını, Outlook dışı sistemlere içe aktarma için standart formatlara dönüştürün.
  • Hukuki keşif: Ham MAPI özellik akışlarını ayrıştırarak, standart dışı özellikler dahil tüm mesaj alanlarını çıkarın.

Yüksek Düzey MAPI Mesaj API

  • Mesajları oluştur: Tam bir e-posta oluşturun mapi_message::create() ile, ardından konu, gövde ve HTML gövdesini set_subject(), set_body() ve set_html_body() aracılığıyla ayarlayın.
  • Gönderici ayrıntılarını ayarla: Giden mesaj için set_sender_name(), set_sender_email_address() ve set_sender_address_type() yapılandırın.
  • Ekleri yönetin: Ekleri baytlardan veya akışlardan mapi_attachment::from_bytes() ve mapi_attachment::from_stream() ile yükleyin ve gömülü mesajları is_embedded_message() aracılığıyla kontrol edin.
  • Kaydet ve yeniden yükle: mapi_message::save() ile serileştir ve mapi_message::from_file() veya mapi_message::from_stream() ile yeniden yükle.

Yüksek Seviyeli API'nin Kullanıldığı Yer

  • Otomatik e-posta oluşturma: Veri kayıtlarından toplu işlerde binlerce kişiselleştirilmiş MSG dosyası oluşturun.
  • Test sabiti oluşturma: Entegre test takımları için öngörülebilir içeriğe sahip, bilinen iyi MSG dosyaları oluşturun.
  • Ek çıkarma: Bir MSG dosyası yükleyin, ekleri yineleyin ve her birini diske kaydedin.

EML ve MIME Dönüştürmesi

  • EML’yi mapi_message içine yükle: Standart bir .eml dosyasını (RFC 5322 / MIME) mapi_message::load_from_eml() aracılığıyla tam bir mapi_message nesnesine ayrıştır.
  • Save mapi_message as EML: Bir mapi_message‘i save_to_eml() ile MIME formatına geri serileştirin.
  • Gidiş-dönüş doğruluğu: Konu, gövde, gönderici, alıcılar ve ekler, EML’den MSG’ye ve tekrar EML’ye yapılan dönüşümlerde korunur.

EML Dönüştürmenin Kullanıldığı Yer

  • Biçim köprüsü: E-posta sunucularından e-postaları EML olarak al ve Outlook uyumlu depolama için MSG’ye dönüştür.
  • Standart uyumluluğu: Özel MSG dosyalarını herhangi bir posta taşıyıcısına teslimat için standart MIME’ye dönüştürün.
  • Arşiv normalleştirme: Karışık bir .eml ve .msg dosyalarından oluşan arşivi tek bir formata normalleştirin.

Bir MSG Dosyasından Konuyu Oku

Bir akıştan Outlook MSG dosyasını açın ve konuyu yazdırın — Microsoft Outlook gerekmez.

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

Bir MSG Mesajı Oluştur ve Kaydet

Gönderen, alıcı ve ek içeren tam bir e-posta oluşturun, ardından hem MSG hem de EML formatlarında yazın.

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

Destek ve Öğrenme Kaynakları

 Türkçe