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.
CfbReader.FromFile(), CfbReader.FromStream() veya new CfbReader(data) ile yükleyin.IterStorages(), IterStreams() , IterChildren() ve IterTree() kullanarak depolamaları, akışlarını ve çocukları tekrarlayın.ResolvePath(names) ile yuvarlanan depolama hiyerarşileri arayın ve isim zinciriyle belirli bir akışı bulun.CfbDocument ile programsal olarak CF B belgeleri oluşturun ve CfbWriter.ToBytes() veya CfbWriter.WriteFile() aracılığıyla baytlara ya da dosyaya serileştirin.CfbStorage ve CfbStream düğümlerini bağlayın..msg dosyalar için konteyner biçimidir. Doğrudan CF B erişimi adli inceleme ve onarım sağlar.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.MsgDocument ile bir MsgWriter.ToBytes() veya MsgWriter.WriteFile().MsgStorage, MsgStream ve MsgStorage.FindStream() üzerinden üst düzeydeki özellik akışlarını, isimli özellikleri ve ekleme verilerini okuyun.MsgStorage.FindStream() ve MsgStorage.FindStorage() kullanarak isimli alt girişleri bulun..msg dosyaları ve metadata veya ekleri çıkarın..msg dosyalarını programsal olarak oluşturun ve Outlook tabanlı posta sistemlerine gönderin.MapiMessage.Create(subject, body) ile tam bir e-posta oluşturun, SenderName , SenderEmailAddress ve HtmlBody ayarlayın.To, Cc ve Bcc alıcıları e-posta adresi ve görüntüleme adı ile AddRecipient() aracılığıyla ekleyin.AddAttachment() ile dosya ve akış eklemeleri ekle veya doğrudan MapiAttachment nesnelerini Filename, MimeType , ContentId ve Data. ile oluşturun.message.Save() veya message.Save(stream) ile serileştirin ve MapiMessage.FromFile() ya da MapiMessage.FromStream() kullanarak tekrar yükleyin.message.Attachments‘ı tekrarlayın ve her bir attachment.Data‘i diske kaydetin.message.Subject, message.Body , message.SenderEmailAddress ve message.Recipients erişim..eml dosyasını (RFC 5322 / MIME) MapiMessage.LoadFromEml(stream) aracılığıyla tam bir MapiMessage nesnesine ayrıştırın.MapiMessage‘ı message.SaveToEml() veya message.SaveToEml(stream) kullanarak MIME formatına geri serileştirin..eml ve .msg dosyalarının karışık bir arşivi tek bir biçime düzenleyin..eml fişleri oluşturun ve veri kaybı olmadan MSG’nin dönüş yolculuğunda hayatta kalmasını kontrol edin.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);
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);
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);