Giriş

Aspose.Email FOSS for .NET, Outlook MSG dosyaları, Compound File Binary (CFB) kapsayıcıları ve EML mesajlarıyla doğrudan .NET uygulamanızda çalışmanızı sağlayan ücretsiz, açık kaynaklı bir C# kütüphanesidir — Microsoft Outlook gerekmez, COM interop gerekmez ve yerel kütüphaneler gerekmez. Tek bir NuGet paketi olarak dağıtın ve Windows, Linux, macOS, Docker kapsayıcıları ve sunucusuz işlevlerde aynı şekilde çalışır.

Kütüphane, kurumsal ve entegrasyon çalışmalarında tekrarlanan bir sorunu çözüyor: Outlook .msg dosyaları
milyonlarca iş kullanıcısı tarafından üretiliyor, ancak bunları Outlook olmadan ayrıştırmak tarihsel olarak COM otomasyonu veya pahalı ticari kütüphaneler gerektiriyordu. Aspose.Email FOSS for .NET, MSG, temel CFB ikili konteyneri ve EML/MIME formatı için tam okuma/yazma desteği sağlar — tümü MIT lisansı altında, kullanım kısıtlaması olmadan.

E-posta arşivleme hattı, bir taşıma aracı, bir ek çıkarıcı, ya da otomatik bir MSG oluşturucu oluşturuyor olsanız da, bu kütüphane size e-posta formatının her baytına doğrudan, düşük seviyeli erişim sağlar ve dakikalar içinde başlamanızı sağlayan yüksek seviyeli MapiMessage API’siyle birlikte gelir.


Temel Özellikler

Outlook MSG Dosyalarını Oku

.msg dosyasını bir yol veya akıştan MsgReader.FromFile() veya MsgReader.FromStream() ile açın.
Tam MAPI özellik akışına, alıcı kayıtlarına ve ek alt depolarına ham bayt seviyesinde MsgStorage ve MsgStream aracılığıyla erişin.

using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");

var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

Sıfırdan MSG Dosyaları Oluştur

MapiMessage.Create() kullanarak programlı bir şekilde tam bir e-posta oluşturun. Konuyu, düz metin gövdesini, HTML gövdesini, gönderici adını, gönderici e-posta adresini, teslim zamanını ve internet mesaj kimliğini ayarlayın, ardından AddRecipient() ile alıcıları ve AddAttachment() ile ekleri ekleyin. message.Save() ile serileştirin.

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 (ve Geri)

Standart bir RFC 5322 .eml dosyasını MapiMessage içine MapiMessage.LoadFromEml() ile yükleyin, daha sonra Outlook .msg dosyası olarak kaydedin — ya da işlemi MapiMessage.SaveToEml() ile tersine çevirin. Yerleşik MIME ayrıştırıcısı, konu, gövde, HTML gövde, gönderici, alıcılar ve ekleri tam EML ↔ MSG dönüşümleri sırasında korur.

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

Düşük Seviyeli CFB Kapsayıcı Erişimi

Outlook MSG dosyaları, bir dosya sistemine benzer hiyerarşik ikili bir kapsayıcı olan Compound File Binary (CFB) formatı üzerine inşa edilmiştir. CfbReader tam dizin ağacını ortaya çıkarır: IterStorages(), IterStreams() ve IterChildren() ile depolamaları ve akışları yineleyin, ResolvePath() ile belirli girişlere yol üzerinden gidin ve GetStreamData() ile ham akış baytlarını okuyun.

CfbWriter, sıfırdan bir CFB belgesi oluşturmanıza ve serileştirmenize olanak tanır. Bir CfbDocument oluşturun, CfbStorage ve CfbStream düğümlerini ekleyin ve serileştirmek için CfbWriter.ToBytes() veya CfbWriter.WriteFile()‘yi çağırın.

MAPI Özelliği ve Ek Erişimi

MapiPropertyCollection sınıfı, herhangi bir MSG veya depolama nesnesi için tiplenmiş MAPI özelliği erişimi sağlar: standart CommonMessagePropertyId veya PropertyTypeCode enum değerleriyle Get(), Set(), Add() ve Remove() kullanın. MapiAttachment özellikleri aracılığıyla ek meta verilerine ve ikili verilere erişin: Filename, MimeType, ContentId ve Data.


Hızlı Başlangıç

Paketi yükleyin:

dotnet add package Aspose.Email.Foss

Bir MSG dosyasından konuyu okuyun:

using System.IO;
using Aspose.Email.Foss.Msg;

using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
foreach (var recipient in message.Recipients)
    Console.WriteLine($"To: {recipient.EmailAddress}");
foreach (var attachment in message.Attachments)
    Console.WriteLine($"Attachment: {attachment.Filename} ({attachment.MimeType})");

Desteklenen Formatlar

BiçimUzantıOkumaYazma
Compound File Binary.cfb
Outlook Message.msg
MIME / EML.eml

Açık Kaynak ve Lisanslama

Aspose.Email FOSS for .NET MIT lisansı altında yayınlanmıştır. Bunu kişisel, ticari ve açık kaynak projelerinde kullanım kısıtlaması olmaksızın özgürce kullanabilirsiniz. Kaynak kodu şu adreste mevcuttur github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.


Başlarken