Aspose.Email FOSS for .NET, Microsoft Outlook .msg dosyaları, Compound File Binary (CFB) kapsayıcıları ve EML mesajlarıyla çalışmak için MIT lisanslı, bağımlılıksız bir 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 sağlar. Düşük seviyede, CfbReader ve CfbWriter 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. 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 yeni mesajları sıfırdan 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 ve EML formatları arasında dönüştürmenize olanak tanır.
Kütüphane, .NET 8.0 ve üzerini hedef alır 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 bölümüne bakın.
CfbReader.FromFile(), CfbReader.FromStream() veya new CfbReader(data) ile yükleyin.IterStorages(), IterStreams(), IterChildren() ve IterTree() kullanarak yineleyin.ResolvePath(names) ile iç içe depolama hiyerarşilerinde gezinerek ad zinciriyle belirli bir akışı bulun.CfbDocument ile programlı olarak oluşturun ve CfbWriter.ToBytes() veya CfbWriter.WriteFile() aracılığıyla baytlara veya dosyaya serileştirin.CfbStorage ve CfbStream düğümlerini ekleyin..msg dosyaları için kapsayıcı formatıdır — doğrudan CFB erişimi, adli inceleme ve onarımı mümkün kılar.MsgReader.FromFile() veya MsgReader.FromStream() ile açın ve temel MAPI özellik akışlarına, alıcı kayıtlarına ve ek alt depolarına erişin.MsgDocument üzerinden MsgWriter.ToBytes() veya MsgWriter.WriteFile() ile MSG dosyaları oluşturun.MsgStorage, MsgStream ve MsgStorage.FindStream() aracılığıyla okuyun.MsgStorage.FindStream() ve MsgStorage.FindStorage() kullanın..msg dosyalarını toplu olarak okuyun ve meta verileri veya ekleri çıkarın..msg dosyalarını programlı olarak oluşturun ve Outlook tabanlı posta sistemlerine teslim edin.MapiMessage.Create(subject, body) ile, SenderName, SenderEmailAddress ve HtmlBody ayarlayın.To, Cc ve Bcc AddRecipient() aracılığıyla e-posta adresi ve görüntülenen ad ile ekleyin.AddAttachment() ile ekleyin veya MapiAttachment nesnelerini doğrudan Filename, MimeType, ContentId ve Data ile oluşturun.message.Save() veya message.Save(stream) ile serileştirin ve MapiMessage.FromFile() veya MapiMessage.FromStream() ile yeniden yükleyin.message.Attachments üzerinde yineleyin ve her attachment.Datai diske kaydedin.message.Subject, message.Body, message.SenderEmailAddress ve message.Recipients‘e erişin..eml dosyasını (RFC 5322 / MIME) tam bir MapiMessage nesnesine MapiMessage.LoadFromEml(stream) aracılığıyla ayrıştırın.MapiMessage‘i MIME formatına message.SaveToEml() veya message.SaveToEml(stream) ile serileştirin..eml ve .msg dosyalarından oluşan arşivi tek bir formata normalleştirin..eml fixture’larını oluşturun ve bunların MSG dönüşümünde veri kaybı olmadan hayatta kalıp kalmadığını doğrulayın.Bir akıştan Outlook MSG dosyasını 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önderen, alıcı ve ek içeren tam bir e-posta oluşturun, ardından bir 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);
Yerleşik MIME ayrıştırıcısını kullanarak standart bir .eml dosyasını yükleyin ve Outlook .msg dosyası olarak kaydedin.
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);