Aspose.Email FOSS untuk .NET adalah perpustakaan C# berlisensi MIT, bebas ketergantungan untuk bekerja dengan file .msg Microsoft Outlook, kontainer Compound File Binary (CFB), dan pesan EML. Tambahkan satu paket NuGet dan segera mulai membaca, membuat, serta memproses pesan email tanpa menginstal Microsoft Outlook atau runtime proprietari apa pun.
Pustaka menyediakan dua tingkat akses. Pada tingkat rendah, CfbReader dan CfbWriter memberikan kontrol penuh atas kontainer biner CFB — menelusuri entri direktori, membaca dan menulis node penyimpanan serta data aliran, dan memeriksa tata letak sektor mentah. MsgReader dan MsgWriter menangani format MSG di atas CFB, menampilkan aliran properti MAPI, tabel penerima, dan sub‑penyimpanan lampiran. Pada tingkat tinggi, MapiMessage memungkinkan Anda membuat pesan baru dari awal, membaca subjek, isi, pengirim, dan penerima, mengelola lampiran, serta mengonversi antara format MSG dan EML melalui implementasi MIME bawaan.
Pustaka ini menargetkan .NET 8.0 atau yang lebih baru dan tidak memiliki dependensi native, sehingga cocok untuk Windows, Linux, macOS, kontainer Docker, dan fungsi serverless. Untuk fitur tambahan dan dukungan komersial, lihat Aspose.Email for .NET.
CfbReader.FromFile(), CfbReader.FromStream(), atau new CfbReader(data).IterStorages(), IterStreams(), IterChildren(), dan IterTree().ResolvePath(names) untuk menemukan aliran tertentu berdasarkan rantai nama.CfbDocument dan serialisasikan ke byte atau file melalui CfbWriter.ToBytes() atau CfbWriter.WriteFile().CfbStorage dan CfbStream ke node penyimpanan mana pun sebelum serialisasi..msg — akses langsung CFB memungkinkan inspeksi forensik dan perbaikan.MsgReader.FromFile() atau MsgReader.FromStream() dan akses aliran properti MAPI yang mendasari, catatan penerima, dan sub‑penyimpanan lampiran.MsgDocument dengan MsgWriter.ToBytes() atau MsgWriter.WriteFile().MsgStorage, MsgStream, dan MsgStorage.FindStream().MsgStorage.FindStream() dan MsgStorage.FindStorage() untuk menemukan sub‑entri yang dinamai..msg dari direktori arsip dan ekstrak metadata atau lampiran..msg secara programatis dan kirimkan ke sistem email berbasis Outlook.MapiMessage.Create(subject, body), atur SenderName, SenderEmailAddress, dan HtmlBody.To, Cc, dan Bcc penerima melalui AddRecipient() dengan alamat email dan nama tampilan.AddAttachment() atau buat objek MapiAttachment secara langsung dengan Filename, MimeType, ContentId, dan Data.message.Save() atau message.Save(stream) dan muat ulang dengan MapiMessage.FromFile() atau MapiMessage.FromStream().message.Attachments, dan simpan setiap attachment.Data ke disk.message.Subject, message.Body, message.SenderEmailAddress, dan message.Recipients tanpa otomasi COM..eml standar (RFC 5322 / MIME) menjadi objek MapiMessage lengkap melalui MapiMessage.LoadFromEml(stream).MapiMessage kembali ke format MIME dengan message.SaveToEml() atau message.SaveToEml(stream)..eml dan .msg menjadi satu format..eml dalam tes dan verifikasi bahwa mereka bertahan dalam putaran MSG tanpa kehilangan data.Buka file Outlook MSG dari aliran dan cetak subjek — tidak memerlukan Microsoft Outlook.
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Buat email lengkap dengan pengirim, penerima, dan lampiran, lalu tulis ke file MSG.
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);
Muat file .eml standar dan simpan sebagai file Outlook .msg menggunakan parser MIME bawaan.
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);