1. Produk
  2.   Aspose.Email
  3.   Aspose.Email FOSS for .NET

Aspose.Email FOSS untuk .NET

Baca, buat, dan proses file Outlook MSG, kontainer CFB, serta pesan EML dari .NET — gratis dan sumber terbuka, tanpa ketergantungan Microsoft Outlook.

Perpustakaan .NET Sumber Terbuka untuk File MSG, CFB, dan EML

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.

Baca dan Tulis Kontainer CFB

  • Buka file CFB: Muat kontainer CFB yang ada dari jalur file, aliran, atau array byte melalui CfbReader.FromFile(), CfbReader.FromStream(), atau new CfbReader(data).
  • Jelajahi pohon direktori: Iterasi penyimpanan, aliran, dan anak menggunakan IterStorages(), IterStreams(), IterChildren(), dan IterTree().
  • Resolve paths: Navigasikan hierarki penyimpanan bersarang dengan ResolvePath(names) untuk menemukan aliran tertentu berdasarkan rantai nama.
  • Tulis kontainer CFB: Bangun dokumen CFB secara programatis dengan CfbDocument dan serialisasikan ke byte atau file melalui CfbWriter.ToBytes() atau CfbWriter.WriteFile().
  • Tambahkan penyimpanan dan aliran: Lampirkan node CfbStorage dan CfbStream ke node penyimpanan mana pun sebelum serialisasi.

Di mana Akses CFB Digunakan

  • Pemeriksaan file MSG: CFB adalah format kontainer untuk file Outlook .msg — akses langsung CFB memungkinkan inspeksi forensik dan perbaikan.
  • Format biner khusus: Setiap aplikasi warisan yang menggunakan CFB untuk penyimpanan data dapat dibaca atau ditulis tanpa ketergantungan COM.
  • Data recovery: Jelajahi seluruh pohon direktori dan ekstrak byte aliran mentah dari file CFB yang rusak atau tidak standar.
  • Pengujian putar balik biner: Serialisasikan dokumen ke byte dan muat ulang untuk memverifikasi serialisasi tanpa kehilangan dalam pengujian otomatis.

Baca dan Tulis File MSG

  • Baca file MSG: Buka file Outlook MSG dengan MsgReader.FromFile() atau MsgReader.FromStream() dan akses aliran properti MAPI yang mendasari, catatan penerima, dan sub‑penyimpanan lampiran.
  • Tulis file MSG: Buat file MSG dari MsgDocument dengan MsgWriter.ToBytes() atau MsgWriter.WriteFile().
  • Akses MAPI tingkat rendah: Baca aliran properti tingkat atas, properti bernama, dan data lampiran melalui MsgStorage, MsgStream, dan MsgStorage.FindStream().
  • Navigasi penyimpanan MSG: Gunakan MsgStorage.FindStream() dan MsgStorage.FindStorage() untuk menemukan sub‑entri yang dinamai.

Di mana Pemrosesan MSG Digunakan

  • Email archival pipelines: Baca massal file .msg dari direktori arsip dan ekstrak metadata atau lampiran.
  • Alat migrasi: Konversi koleksi MSG ke format standar untuk diimpor ke sistem non-Outlook.
  • Penemuan hukum: Mengurai aliran properti MAPI mentah untuk mengekstrak semua bidang pesan termasuk properti non-standar.
  • Pengiriman laporan otomatis: Buat file .msg secara programatis dan kirimkan ke sistem email berbasis Outlook.

API Pesan Tingkat Tinggi

  • Buat pesan: Bangun email lengkap dengan MapiMessage.Create(subject, body), atur SenderName, SenderEmailAddress, dan HtmlBody.
  • Tambahkan penerima: Lampirkan To, Cc, dan Bcc penerima melalui AddRecipient() dengan alamat email dan nama tampilan.
  • Kelola lampiran: Tambahkan lampiran file dan stream dengan AddAttachment() atau buat objek MapiAttachment secara langsung dengan Filename, MimeType, ContentId, dan Data.
  • Simpan dan muat ulang: Serialisasi dengan message.Save() atau message.Save(stream) dan muat ulang dengan MapiMessage.FromFile() atau MapiMessage.FromStream().

Di mana API Tingkat Tinggi Digunakan

  • Pembuatan email otomatis: Hasilkan ribuan file MSG yang dipersonalisasi dari catatan data dalam pekerjaan batch.
  • Pembuatan fixture tes: Bangun file MSG yang sudah teruji dengan konten yang dapat diprediksi untuk suite tes integrasi.
  • Ekstraksi lampiran: Muat file MSG, iterasi message.Attachments, dan simpan setiap attachment.Data ke disk.
  • Pemeriksaan properti: Akses message.Subject, message.Body, message.SenderEmailAddress, dan message.Recipients tanpa otomasi COM.

Konversi EML dan MIME

  • Load EML into MapiMessage: Mengurai file .eml standar (RFC 5322 / MIME) menjadi objek MapiMessage lengkap melalui MapiMessage.LoadFromEml(stream).
  • Save MapiMessage as EML: Serialisasi sebuah MapiMessage kembali ke format MIME dengan message.SaveToEml() atau message.SaveToEml(stream).
  • Keandalan lintas perjalanan: Subjek, isi, HTML isi, pengirim, penerima, dan lampiran semuanya dipertahankan melalui perjalanan bolak‑balik EML → MSG → EML.
  • Tidak ada parser MIME eksternal: Parsing EML diimplementasikan secara native dalam perpustakaan — tidak memerlukan dependensi System.Net.Mail.

Di mana Konversi EML Digunakan

  • Format bridging: Terima email sebagai EML dari server mail dan konversi ke MSG untuk penyimpanan yang kompatibel dengan Outlook.
  • Kepatuhan standar: Konversi file MSG proprietari ke MIME standar untuk pengiriman ke transportasi email apa pun.
  • Normalisasi arsip: Normalisasi arsip campuran .eml dan .msg menjadi satu format.
  • Alur kerja pengujian: Hasilkan fixture .eml dalam tes dan verifikasi bahwa mereka bertahan dalam putaran MSG tanpa kehilangan data.

Baca Subjek dari File MSG

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 dan Simpan Pesan MSG

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

Konversi EML ke MSG

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

Sumber Daya Dukungan dan Pembelajaran

 Bahasa Indonesia