Aspose.Email FOSS for .NET ir MIT licences, atkarību brīva C# bibliotēka darbam ar Microsoft Outlook .msg failiem, Compound File Binary (CFB) konteineriem un EML ziņām. Pievienojiet vienu NuGet pakotni un uzreiz sāciet lasīt, izveidot un apstrādāt e-pasta ziņojumus, neinstalējot Microsoft Outlook vai kādu proprietāru izpildlaiku.
Bibliotēka nodrošina divus piekļuves līmeņus. Zemējā līmenī CfbReader un CfbWriter sniedz pilnīgu kontroli pār CFB binārajiem konteineriem — pārlūko direktoriju ierakstus, lasa un raksta glabāšanas mezglus un plūsmas datus, un pārbauda neapstrādāto sektoru izkārtojumu. MsgReader un MsgWriter apstrādā MSG formātu virs CFB, atklājot MAPI īpašību plūsmas, saņēmēju tabulas un pievienojumu apakšglabāšanas vietas. Augstākajā līmenī MapiMessage ļauj izveidot jaunas ziņas no nulles, nolasīt tēmu, ķermeni, sūtītāju un saņēmējus, pārvaldīt pievienojumus un konvertēt starp MSG un EML formātu, izmantojot iebūvēto MIME implementāciju.
Bibliotēka mērķē uz .NET 8.0 vai jaunāku versiju un tai nav vietējo atkarību, padarot to piemērotu Windows, Linux, macOS, Docker konteineriem un serverless funkcijām. Papildu funkcijām un komerciālajam atbalstam skatiet Aspose.Email for .NET.
CfbReader.FromFile(), CfbReader.FromStream() vai new CfbReader(data).IterStorages(), IterStreams(), IterChildren() un IterTree().ResolvePath(names), lai atrastu konkrētu straumi pēc nosaukuma ķēdes.CfbDocument un serializējiet uz baitiem vai failu, izmantojot CfbWriter.ToBytes() vai CfbWriter.WriteFile().CfbStorage un CfbStream mezglus jebkuram krātuves mezglam pirms serializācijas..msg failiem — tieša CFB piekļuve ļauj veikt forensisku pārbaudi un labošanas darbus.MsgReader.FromFile() vai MsgReader.FromStream() un piekļūstiet pamatīgajiem MAPI īpašību plūsmām, saņēmēju ierakstiem un pievienojumu apakšglabātuviem.MsgDocument ar MsgWriter.ToBytes() vai MsgWriter.WriteFile().MsgStorage, MsgStream un MsgStorage.FindStream().MsgStorage.FindStream() un MsgStorage.FindStorage(), lai atrastu nosauktās apakšierakstus..msg failus no arhīva direktorijām un izvilkt metadatus vai pielikumus..msg failus programmatiski un piegādājiet tos Outlook-bāzētām pasta sistēmām.MapiMessage.Create(subject, body), iestatiet SenderName, SenderEmailAddress un HtmlBody.To, Cc un Bcc saņēmējus caur AddRecipient() ar e-pasta adresi un parādāmo vārdu.AddAttachment() vai izveidojiet MapiAttachment objektus tieši ar Filename, MimeType, ContentId, un Data.message.Save() vai message.Save(stream) un pārlādēt ar MapiMessage.FromFile() vai MapiMessage.FromStream().message.Attachments, un saglabājiet katru attachment.Data diskā.message.Subject, message.Body, message.SenderEmailAddress un message.Recipients bez COM automatizācijas..eml failu (RFC 5322 / MIME) par pilnu MapiMessage objektu, izmantojot MapiMessage.LoadFromEml(stream).MapiMessage atpakaļ uz MIME formātu, izmantojot message.SaveToEml() vai message.SaveToEml(stream)..eml un .msg failus, uz vienu formātu..eml fiksējumus testos un pārbaudīt, vai tie izturas MSG pārejas laikā bez datu zuduma.Atveriet Outlook MSG failu no plūsmas un izdrukājiet tematu — nav nepieciešams 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);
Izveidojiet pilnīgu e-pastu ar sūtītāju, saņēmēju un pielikumu, pēc tam ierakstiet to MSG failā.
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);
Ielādējiet standarta .eml failu un saglabājiet to kā Outlook .msg failu, izmantojot iebūvēto MIME parseri.
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);