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

Aspose.Email FOSS for C++

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

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

Aspose.Email FOSS for C++ Microsoft Outlook .msg dosyaları ve Compound File Binary (CFB) konteynerleri ile çalışmak için MIT lisanslı, açık kaynaklı bir C ++ kütüphanesi. CMake aracılığıyla başlıkları ekleyin ve hemen Microsoft Outlook veya herhangi bir özel çalışma süremi yüklemeden e-posta mesajlarını okumaya, oluşturmaya ve işlemeye başlayın.

Kütüphane iki erişim seviyesi sağlar. Düşük seviyede, cfb_reader ve cfb_writer CFB ikili konteynerleri üzerinde tam kontrol verir geçit dizin girişleri, depolama düğümlerini ve akış verilerini okuyun ve yazın ve ham sektör düzenini denetleyin. msg_reader ile msg_writer MSG formatını CF B’nin üstünde ele alır, MAPI mülkiyet akışı, alıcı tabloları ve ek alt-saklanmalarını açığa çıkarır. Yüksek düzeyde,mapi_message sıfırdan yeni mesajlar oluşturmanıza, konuları, alınanları, ekleri ve bedenleri okumanıza ve MS G ve EML biçimi arasında dönüştürmenize izin verir. Kütüphane, C ++ 17 derleyici ile herhangi bir platform üzerinde inşa edilir ve Windows, Linux, macOS, Docker konteynerleri ve gömülü sistemler için uygun hale getiren dış bağımlılıkları yoktur. Ek özelliklere sahip bir kurumsal sürüm Aspose.Email for C++ olarak sunulmaktadır.

CFB konteyneri okuma ve yazma

  • CFB dosyalarını aç: Mevcut CFB kapsayıcılarını bir dosya yolu, akış veya bayt dizisinden cfb_reader::from_file(), cfb_reader::from_stream() veya cfb_reader::from_bytes() aracılığıyla yükleyin.
  • Dizin ağacını dolaş: 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: cfb_node::is_storage() ve cfb_node::is_stream() ile düğüm tipini kontrol edin, creation_time() ve modified_time() aracılığıyla zaman damgalarını okuyun.
  • CFB kapsayıcılarını yaz: cfb_document ile programlı olarak CFB belgeleri oluşturun ve cfb_writer::to_bytes() veya cfb_writer::write_file() aracılığıyla baytlara ya da dosyaya serileştirin.

CFB erişimi kullanıldığı yerler

  • MSG dosya denetimi: CFB, Outlook .msg dosyalar için konteyner biçimidir. Doğrudan CF B erişimi adli inceleme ve onarım sağlar.
  • ** Özel ikili biçimler:** Veri depolama için CFB kullanan herhangi bir eski uygulama COM bağımlılığı olmadan okunabilir veya yazılabilir.
  • ** Veri kurtarma:** Tam dizin ağacını geçin ve hasarlı veya standart olmayan CFB dosyalarından çiğ akış baytlarını çıkarın.

MSG Dosyası Okumak ve Yazmak

  • ** MSG dosyalarını oku:** Outlook MS G dosyalar msg_reader::from_file() veya msg_reader::from_stream() ile açın ve altta yatan MAPI özellik akışlarına ve ek alt depolamalara erişin.
  • ** MSG dosyaları yaz:** msg_document ile bir msg_writer::to_bytes() veya msg_writer::write_file().
  • MSG belge denetimi: msg_document::major_version(), msg_document::minor_version() ile metadatalara eriş ve sıkılık için msg_document::strict().
  • ** CFB’ye dönüştür:** Altta yatan CF B belgesini bir MSG dosyasından msg_document::to_cfb_document() aracılığıyla çıkarın.

MSG İşleminin Kullandığı Yerler

  • E-posta arşivleme boru hattı: Arşip dizinlerinden toplu olarak okunur .msg dosyaları ve metadata veya ekleri çıkarın.
  • Gelişleme araçları: MSG koleksiyonlarını Outlook dışı sistemlere aktarmak için standart biçimlere dönüştürün.
  • Yasal keşif: Standart olmayan özellikler dahil tüm mesaj alanlarını çıkarmak için MAPI özelliği akışlarını analiz edin.

Yüksek düzey MAPI mesaj API’si

  • ** Mesajlar oluşturun:** mapi_message::create() ile tam bir e-posta oluştur, sonra konuyu, vücudu ve HTML vücudunu set_subject() , set_body() ve set_html_body() aracılığıyla ayarlayın.
  • ** Göndericinin ayrıntılarını ayarlayın:** Dışarı çıkan mesaj için set_sender_name(), set_sender_email_address() ve set_sender_address_type() yapılandırın.
  • ** Ekleri yönet:** mapi_attachment::from_bytes() ve mapi_attachment::from_stream() ile baytlardan veya akışlardan ekler yükle ve içe aktarılmış mesajları is_embedded_message() üzerinden kontrol et.
  • ** Kaydet ve yeniden yükle:** mapi_message::save() ile serileştir ve mapi_message::from_file() veya mapi_message::from_stream() ile tekrar yükleyin.

Yüksek Düzey API'nin Kullanıldığı Yerler

  • ** Otomatik e-posta üretimi:** Bütçe işlerde veri kayıtlarından binlerce kişiselleştirilmiş MSG dosyası oluşturun.
  • Test ayarlarının oluşturulması: Entegrelik test paketleri için öngörülebilir içerikli bilinen iyi MSG dosyaları oluşturun.
  • Elektrasyon: Bir MSG dosyası yükleyin, ekleri tekrarlayın ve her birini diske kaydetin.

EML ve MIME Dönüşümü

  • ** EML’yi mapi_message:** içine yükle. Standart .eml dosyasını (RFC 5322 / MIME) mapi_message nesneye mapi_message::load_from_eml() ile açar .
  • Map_message’ı EML olarak kaydet: mapi_message‘i MIME biçimine geri serileştirmek için save_to_eml().
  • Yürüyüşe bağlılık: Konu, vücut, gönderenler ve ekler EML ile MSG arasında dönüm yolculuğu sırasında korunur.

EML dönüşümünün kullanıldığı yerler

  • Format köprüleme: E-postaları posta sunucularından EML olarak alın ve Outlook uyumlu depolama için MSG’ye dönüştürün.
  • ** Standartlara uygunluk:** Herhangi bir posta taşımacılığına teslimat için özel MSG dosyalarını standart MIME’ye dönüştürün.
  • Arşiv normalleştirme: .eml ve .msg dosyalarının karışık bir arşivi tek bir biçime düzenleyin.

Bir MSG Dosyasından Konu Okumak

Bir akıştan bir Outlook MSG dosyası 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öndericisi, alıcısı ve ekleyiciyle birlikte tam bir e-posta oluşturun. Sonra MSG ve 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