Pendahuluan
Aspose.Email FOSS for .NET adalah perpustakaan C# gratis dan sumber terbuka yang memungkinkan Anda bekerja dengan file Outlook MSG, kontainer Compound File Binary (CFB), dan pesan EML secara langsung dalam aplikasi .NET Anda — tanpa Microsoft Outlook, tanpa interop COM, dan tanpa pustaka native. Distribusikan sebagai paket NuGet tunggal dan ia berjalan identik di Windows, Linux, macOS, kontainer Docker, dan fungsi serverless.
Pustaka ini menyelesaikan masalah berulang dalam pekerjaan perusahaan dan integrasi: file Outlook .msg dihasilkan oleh jutaan pengguna bisnis, tetapi mem‑parsing‑nya tanpa Outlook secara historis memerlukan otomasi COM atau perpustakaan komersial yang mahal. Aspose.Email FOSS untuk .NET menyediakan dukungan baca/tulis penuh untuk MSG, kontainer biner CFB yang mendasarinya, dan format EML/MIME — semuanya di bawah lisensi MIT tanpa batasan penggunaan.
Apakah Anda sedang membangun pipeline arsip email, alat migrasi, pengekstrak lampiran,
atau generator MSG otomatis, perpustakaan ini memberi Anda akses langsung, tingkat rendah ke setiap byte dari
format email bersama dengan API tingkat tinggi MapiMessage yang memungkinkan Anda memulai dalam hitungan menit.
Fitur Utama
Baca File Outlook MSG
Buka file .msg apa pun dari jalur atau aliran dengan MsgReader.FromFile() atau MsgReader.FromStream().
Akses aliran properti MAPI lengkap, catatan penerima, dan sub‑storage lampiran pada
tingkat byte mentah melalui MsgStorage dan MsgStream.
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 File MSG dari Awal
Bangun email lengkap secara programatis menggunakan MapiMessage.Create(). Atur subjek, teks biasa
isi, isi HTML, nama pengirim, alamat email pengirim, waktu pengiriman, dan ID pesan internet, kemudian
tambahkan penerima dengan AddRecipient() dan lampiran dengan AddAttachment(). Serialisasi dengan
message.Save().
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);
Mengonversi EML ke MSG (dan Kembali)
Muat file RFC 5322 .eml standar ke dalam MapiMessage dengan MapiMessage.LoadFromEml(),
kemudian simpan sebagai file Outlook .msg — atau balikkan prosesnya dengan MapiMessage.SaveToEml().
Parser MIME bawaan mempertahankan subjek, isi, isi HTML, pengirim, penerima, dan lampiran melalui perjalanan bolak‑balik penuh EML ↔ MSG.
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);
Akses Kontainer CFB Tingkat Rendah
File Outlook MSG dibangun di atas format Compound File Binary (CFB) — sebuah kontainer biner hierarkis yang mirip dengan sistem berkas. CfbReader mengekspos seluruh pohon direktori: iterasi storage dan stream dengan IterStorages(), IterStreams(), dan IterChildren(), menavigasi ke entri tertentu melalui jalur dengan ResolvePath(), dan membaca byte stream mentah dengan GetStreamData().
CfbWriter memungkinkan Anda membangun dan menyerialkan dokumen CFB dari awal. Buat sebuah CfbDocument, lampirkan node CfbStorage dan CfbStream, dan panggil CfbWriter.ToBytes() atau CfbWriter.WriteFile() untuk menyerialkan.
Akses Properti dan Lampiran MAPI
Kelas MapiPropertyCollection menyediakan akses properti MAPI yang bertipe untuk objek MSG atau penyimpanan apa pun: gunakan Get(), Set(), Add(), dan Remove() dengan nilai enum standar CommonMessagePropertyId atau PropertyTypeCode. Akses metadata lampiran dan data biner melalui properti MapiAttachment: Filename, MimeType, ContentId, dan Data.
Panduan Cepat
Instal paket:
dotnet add package Aspose.Email.Foss
Baca subjek dari file MSG:
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})");
Format yang Didukung
| Format | Ekstensi | Baca | Tulis |
|---|---|---|---|
| Compound File Binary | .cfb | ✓ | ✓ |
| Outlook Message | .msg | ✓ | ✓ |
| MIME / EML | .eml | ✓ | ✓ |
Sumber Terbuka & Lisensi
Aspose.Email FOSS for .NET dirilis di bawah lisensi MIT. Anda dapat menggunakannya secara bebas di proyek pribadi, komersial, dan sumber terbuka tanpa batasan penggunaan. Kode sumber tersedia di github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.