Pengenalan

Aspose.Email FOSS for .NET ialah perpustakaan C# percuma dan sumber terbuka yang membolehkan anda bekerja dengan Outlook
fail MSG, kontena Compound File Binary (CFB), dan mesej EML secara langsung dalam .NET anda
aplikasi — tanpa Microsoft Outlook, tanpa interop COM, dan tanpa perpustakaan asli diperlukan. Edarkan
ia sebagai satu pakej NuGet tunggal dan ia berfungsi secara serupa pada Windows, Linux, macOS, kontena Docker,
dan fungsi tanpa pelayan.

Pustaka ini menyelesaikan masalah berulang dalam kerja perusahaan dan integrasi: fail Outlook .msg dihasilkan oleh berjuta‑juta pengguna perniagaan, tetapi menafsirnya tanpa Outlook secara historis memerlukan automasi COM atau perpustakaan komersial yang mahal. Aspose.Email FOSS untuk .NET menyediakan sokongan penuh baca/tulis untuk MSG, kontena binari CFB yang mendasari, dan format EML/MIME — semuanya di bawah lesen MIT tanpa sekatan penggunaan.

Sama ada anda sedang membina saluran arkib e-mel, alat migrasi, pengekstrak lampiran, atau penjana MSG automatik, perpustakaan ini memberi anda akses langsung pada peringkat rendah kepada setiap bait format e-mel bersama API MapiMessage peringkat tinggi yang membolehkan anda memulakan dalam beberapa minit.


Ciri-ciri Utama

Baca Fail MSG Outlook

Buka mana-mana fail .msg dari laluan atau aliran dengan MsgReader.FromFile() atau MsgReader.FromStream().
Akses aliran sifat MAPI lengkap, rekod penerima, dan sub‑storages lampiran pada tahap bait 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);

Cipta Fail MSG dari Awal

Bangunkan e-mel lengkap secara programatik menggunakan MapiMessage.Create(). Tetapkan subjek, badan teks biasa badan HTML, nama penghantar, alamat e-mel penghantar, masa penghantaran, dan ID mesej internet, kemudian tambahkan penerima dengan AddRecipient() dan lampiran dengan AddAttachment(). Serialkan 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);

Tukar EML kepada MSG (dan Kembali)

Muatkan fail standard RFC 5322 .eml ke dalam MapiMessage dengan MapiMessage.LoadFromEml(), kemudian simpan sebagai fail Outlook .msg — atau songsangkan proses dengan MapiMessage.SaveToEml(). Pengurai MIME terbina dalam mengekalkan subjek, badan, badan HTML, penghantar, penerima, dan lampiran melalui pusingan 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 Kontena CFB Peringkat Rendah

Fail Outlook MSG dibina atas format Compound File Binary (CFB) — sebuah kontena binari hierarki yang serupa dengan sistem fail. CfbReader memaparkan keseluruhan pokok direktori: iterasi storan dan aliran dengan IterStorages(), IterStreams(), dan IterChildren(), navigasi ke entri tertentu melalui laluan dengan ResolvePath(), dan membaca bait aliran mentah dengan GetStreamData().

CfbWriter membolehkan anda membina dan menserialkan dokumen CFB dari awal. Buat sebuah CfbDocument, lampirkan nod CfbStorage dan CfbStream, dan panggil CfbWriter.ToBytes() atau CfbWriter.WriteFile() untuk menserialkan.

Akses Sifat MAPI dan Lampiran

Kelas MapiPropertyCollection menyediakan akses sifat MAPI berjenis untuk mana-mana objek MSG atau storan: gunakan Get(), Set(), Add(), dan Remove() dengan nilai enum standard CommonMessagePropertyId atau PropertyTypeCode. Akses metadata lampiran dan data binari melalui sifat MapiAttachment: Filename, MimeType, ContentId, dan Data.


Permulaan Cepat

Pasang pakej:

dotnet add package Aspose.Email.Foss

Baca subjek daripada fail 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 Disokong

FormatSambunganBacaTulis
Compound File Binary.cfb
Outlook Message.msg
MIME / EML.eml

Sumber Terbuka & Pelesenan

Aspose.Email FOSS untuk .NET dikeluarkan di bawah lesen MIT. Anda boleh menggunakannya secara bebas dalam
projek peribadi, komersial, dan sumber terbuka tanpa sekatan penggunaan. Kod sumber tersedia di
github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.


Memulakan