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.
Perpustakaan ini 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.
Perpustakaan ini menargetkan .NET 8.0 atau lebih baru dan tidak memiliki ketergantungan native, menjadikannya 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(), or new CfbReader(data).IterStorages(), IterStreams(),IterChildren() ,dan IterTree().ResolvePath(names) untuk menemukan aliran tertentu berdasarkan rantai nama.CfbDocument dan serialisasi ke byte atau file melalui CfbWriter.ToBytes() atau CfbWriter.WriteFile().CfbStorage dan CfbStream ke setiap node penyimpanan sebelum serialisasi..msg file akses langsung ke CF B memungkinkan inspeksi forensik dan perbaikan.MsgReader.FromFile() atau MsgReader.FromStream() dan akses aliran properti MAPI yang mendasari, catatan penerima, dan sub-pembekalan lampiran.MsgDocument dengan MsgWriter.ToBytes() atau MsgWriter.WriteFile().MsgStorage, MsgStream, and MsgStorage.FindStream().MsgStorage.FindStream() dan MsgStorage.FindStorage() untuk menemukan sub-entri yang diberi nama..msg file dari direktori arsitektur dan ekstrak metadata atau lampiran..msg secara program dan mengirimkannya ke sistem surat berbasis Outlook.MapiMessage.Create(subject, body), set SenderName, SenderEmailAddress dan HtmlBody.To, Cc dan Bcc penerimaan melalui AddRecipient() dengan alamat email dan nama tampilan.AddAttachment() atau membangun objek MapiAttachment langsung denganFilename, MimeType , ContentId dan Data.message.Save() atau message.Save(stream) dan muat ulang denganMapiMessage.FromFile() or MapiMessage.FromStream().message.Attachments, dan menyimpan setiap attachment.Data ke disk.message.Subject, message.Body , message.SenderEmailAddress dan message.Recipients tanpa otomatisasi COM..eml standar (RFC 5322 / MIME) menjadi objek penuh MapiMessage melalui MapiMessage.LoadFromEml(stream).MapiMessage kembali ke format MIME dengan message.SaveToEml() atau message.SaveToEml(stream)..eml dan .msg ke satu format..eml dalam pengujian dan memverifikasi bahwa mereka bertahan MSG pulang-pergi tanpa kehilangan data.Buka file Outlook MSG dari stream dan cetak subjek tidak diperlukan 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 tuliskan 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);
Mengunggah file .eml standar dan menyimpannya sebagai file Outlook .msg menggunakan built-in MIME parser.
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);