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

Aspose.Email FOSS for .NET

Outlook MSG dosyalarını, CFB konteynerlerini ve EML mesajlarını .NET üzerinden okuyun, oluşturun ve işleyin — ücretsiz ve açık kaynaklı, Microsoft Outlook bağımlılığı yok.

MSG, CFB ve EML Dosyaları için Açık Kaynaklı .NET Kütüphanesi

Aspose.Email FOSS for .NET, Microsoft Outlook .msg dosyaları, Compound File Binary (CFB) konteynerleri ve EML mesajlarıyla çalışmak için MIT lisanslı, bağımlılıksız C# kütüphanesidir. Tek bir NuGet paketi 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 sunar. Düşük seviyede, CfbReader ve CfbWriter, CFB ikili konteynerleri üzerinde tam kontrol sağlar — dizin girişlerinde gezinme, depolama düğümlerini ve akış verilerini okuma ve yazma, ve ham sektör düzenini inceleme. MsgReader ve MsgWriter, 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, MapiMessage, sıfırdan yeni mesajlar oluşturmanıza, konu, gövde, gönderici ve alıcıları okumanıza, ekleri yönetmenize ve yerleşik bir MIME uygulaması aracılığıyla MSG ile EML formatı arasında dönüştürmenize olanak tanır.

Kütüphane .NET 8.0 ve üzerini hedefler ve yerel bağımlılıkları yoktur, bu da Windows, Linux, macOS, Docker konteynerleri ve sunucusuz işlevler için uygun olmasını sağlar. Ek özellikler ve ticari destek için Aspose.Email for .NET adresine bakın.

CFB konteyneri okuma ve yazma

  • ** CFB dosyalarını açın:** Var olan CF B konteynerlerini bir dosyanın yolu, akışı veya bayt dizisi üzerinden CfbReader.FromFile(), CfbReader.FromStream() veya new CfbReader(data) ile yükleyin.
  • ** Dizin ağacını geç:** IterStorages(), IterStreams() , IterChildren() ve IterTree() kullanarak depolamaları, akışlarını ve çocukları tekrarlayın.
  • Yolları çöz: ResolvePath(names) ile yuvarlanan depolama hiyerarşileri arayın ve isim zinciriyle belirli bir akışı bulun.
  • ** CFB konteynerleri yazın:** CfbDocument ile programsal olarak CF B belgeleri oluşturun ve CfbWriter.ToBytes() veya CfbWriter.WriteFile() aracılığıyla baytlara ya da dosyaya serileştirin.
  • ** Depolama ve akış ekle:** Serialize edilmeden önce herhangi bir depolama düğmesine CfbStorage ve CfbStream düğümlerini bağlayın.

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.
  • İkinci dönüş testi: Bir belgeyi baytlara serileştirin ve otomatik testlerde kayıpsız serilizasyonu doğrulamak için yeniden yükleyin.

MSG Dosyası Okumak ve Yazmak

  • MSG dosyalarını oku: Outlook MSG Dosyaları MsgReader.FromFile() veya MsgReader.FromStream() ile açın ve altta yatan MAPI özellik akışlarına, alıcı kayıtlarına ve ek alt depolamalara erişin.
  • ** MSG dosyaları yaz:** MsgDocument ile bir MsgWriter.ToBytes() veya MsgWriter.WriteFile().
  • Alta düzey MAPI erişimi: MsgStorage, MsgStream ve MsgStorage.FindStream() üzerinden üst düzeydeki özellik akışlarını, isimli özellikleri ve ekleme verilerini okuyun.
  • MSG depolama navigasyonu: MsgStorage.FindStream() ve MsgStorage.FindStorage() kullanarak isimli alt girişleri bulun.

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.
  • Automatik rapor teslimatı: .msg dosyalarını programsal olarak oluşturun ve Outlook tabanlı posta sistemlerine gönderin.

Yüksek düzey mesaj API’si

  • ** Mesajlar oluştur:** MapiMessage.Create(subject, body) ile tam bir e-posta oluşturun, SenderName , SenderEmailAddress ve HtmlBody ayarlayın.
  • ** Alıcılar ekle:** To, Cc ve Bcc alıcıları e-posta adresi ve görüntüleme adı ile AddRecipient() aracılığıyla ekleyin.
  • Beklentileri yönet: AddAttachment() ile dosya ve akış eklemeleri ekle veya doğrudan MapiAttachment nesnelerini Filename, MimeType , ContentId ve Data. ile oluşturun.
  • ** Kaydet ve yeniden yükle:** message.Save() veya message.Save(stream) ile serileştirin ve MapiMessage.FromFile() ya da MapiMessage.FromStream() kullanarak 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.
  • Bekletilme çıkarma: Bir MSG dosyası yükleyin, message.Attachments‘ı tekrarlayın ve her bir attachment.Data‘i diske kaydetin.
  • Mülkiyet denetimi: COM otomasyonu olmadan message.Subject, message.Body , message.SenderEmailAddress ve message.Recipients erişim.

EML ve MIME Dönüşümü

  • EML’yi MapiMessage’e Yükle: Standart bir .eml dosyasını (RFC 5322 / MIME) MapiMessage.LoadFromEml(stream) aracılığıyla tam bir MapiMessage nesnesine ayrıştırın.
  • MapiMessage’ı EML olarak Kaydet: MapiMessage‘ı message.SaveToEml() veya message.SaveToEml(stream) kullanarak MIME formatına geri serileştirin.
  • Gidiş-dönüş doğruluğu: Konu, gövde, HTML gövdesi, gönderici, alıcılar ve ekler, EML → MSG → EML gidiş-dönüşlerinde tamamen korunur.
  • Harici MIME ayrıştırıcısı yok: EML ayrıştırması kütüphane içinde yerel olarak uygulanmıştır — System.Net.Mail bağımlılığı gerekmez.

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.
  • Test çalışma akışları: Testlerde .eml fişleri oluşturun ve veri kaybı olmadan MSG’nin dönüş yolculuğunda hayatta kalmasını kontrol edin.

Bir MSG Dosyasından Konu Okumak

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

using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

Bir MSG Mesajı Oluştur ve Kaydet

Göndericisi, alıcısı ve ekleri ile birlikte tam bir e-posta oluşturun. Sonra MSG dosyasına yazın.

using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.Create("Hello", "Body");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
using var attachmentStream = new MemoryStream("abc"u8.ToArray());
message.AddAttachment("note.txt", attachmentStream, "text/plain");
using var output = File.Create("hello.msg");
message.Save(output);

EML’yi MSG’ye dönüştürün.

Standart bir .eml dosyası yükleyin ve Outlook .msg dosyasında MIME analiz cihazı ile kaydetin.

using System.IO;
using Aspose.Email.Foss.Msg;
using var input = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(input);
using var msgOutput = File.Create("message.msg");
message.Save(msgOutput);
using var emlOutput = File.Create("roundtrip.eml");
message.SaveToEml(emlOutput);
  

Destek ve Öğrenme Kaynakları

 Türkçe