FOSS for .NET adalah perpustakaan C # MIT yang dilisensikan, bebas daripada ketergantungan untuk bekerja dengan fail Microsoft Outlook .msg , bekas Kompaun Fail Binar (CFB), dan mesej EML. Tambah satu pakej NuGet dan segera mula membaca, membuat, dan memproses mesej e-mel tanpa memasang Microsoft Outlook atau runtime milik mana pun.
Perpustakaan menyediakan dua tahap akses. Pada peringkat rendah, CfbReader dan CfbWriter memberikan kawalan penuh ke atas bekas binari CFB entri direktori melintasi, membaca dan menulis nod penyimpanan dan data aliran, dan memeriksa susun atur sektor mentah. MsgReader and MsgWriter mengendalikan format MSG di atas CF B, mendedahkan aliran harta MAPI, jadual penerima, serta sub-pembekalan lampiran. Di peringkat tinggi,MapiMessage membolehkan anda membuat mesej baru dari awal, baca, badan, pengirim, subjek, & menerima, mengurus lampuran, and menukar antara format EML dan MS G melalui pelaksanaan terbina dalam MIME .
Perpustakaan ini disasarkan pada .NET 8.0 atau lebih baru dan tidak mempunyai ketergantungan asli, menjadikannya sesuai untuk Windows, Linux, macOS, bekas Docker, dan fungsi tanpa pelayan. Untuk ciri tambahan dan sokongan komersial, lihat Aspose.Email for .NET.
CfbReader.FromFile(), CfbReader.FromStream() , atau new CfbReader(data).IterStorages(), IterStreams() , IterChildren() dan IterTree().ResolvePath(names) untuk mencari aliran tertentu oleh rantaian nama.CfbDocument dan menyerialisasikan ke bait atau fail melalui CfbWriter.ToBytes() atau CfbWriter.WriteFile().CfbStorage dan CfbStream nod ke sebarang node penyimpanan sebelum serialization..msg fail akses langsung CF B membolehkan pemeriksaan forensik dan pembaikan.MsgReader.FromFile() atau MsgReader.FromStream() dan akses aliran sifat MAPI yang mendasari, rekod penerima, dan penyimpanan kecil lampiran.MsgDocument dengan MsgWriter.ToBytes() atau MsgWriter.WriteFile().MsgStorage, MsgStream, and MsgStorage.FindStream().MsgStorage.FindStream() dan MsgStorage.FindStorage() untuk mencari sub-entri yang dinamakan..msg fail dari direktori arsip dan ekstrak metadata atau lampiran..msg secara program dan menghantarnya ke sistem mel berasaskan Outlook.MapiMessage.Create(subject, body), set SenderName, SenderEmailAddress dan HtmlBody.To, Cc dan Bcc penerimaan melalui AddRecipient() dengan alamat e-mel dan nama paparan.AddAttachment() atau membina objek MapiAttachment secara langsung denganFilename, MimeType , ContentId dan Data.message.Save() atau message.Save(stream) dan memuat ulang denganMapiMessage.FromFile() or MapiMessage.FromStream().message.Attachments, dan simpan setiap attachment.Data ke cakera.message.Subject, message.Body , message.SenderEmailAddress dan message.Recipients tanpa automasi COM..eml fail (RFC 5322 / MIME) menjadi penuh MapiMessage objek melalui MapiMessage.LoadFromEml(stream).MapiMessage ke format MIME dengan message.SaveToEml() atau message.SaveToEml(stream)..eml dan .msg fail ke satu format..eml perkakasan dalam ujian dan mengesahkan mereka bertahan MSG perjalanan tanpa kehilangan data.Buka fail Outlook MSG dari aliran dan cetak subjek tiada Microsoft Outlook diperlukan.
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 e-mel lengkap dengan pengirim, penerima dan lampiran, kemudian tulis ke fail 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 naik fail .eml standard dan simpan sebagai Outlook file .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);