Introducció

Aspose.Email FOSS for .NET is a free, open-source C# library that lets you work with Outlook Arxius MSG, contenidors de Compound File Binary (CFB) i missatges EML directament en el .NET. aplicació no Microsoft Outlook, cap interop COM i sense biblioteques natives necessàries. Distribuir com un únic paquet NuGet i corre idènticament en Windows, Linux, macOS, contenidors Docker, i funcions sense servidor.

La biblioteca resoldre un problema recurrent en el treball d’empresa i integració: Outlook. .msg arxius són produïdes per milions d’usuaris de negocis, però l’anàlisi sense Outlook ha històricament COM requereix d’automatització o costoses biblioteques comercials. Aspose.Email FOSS per .NET proporciona suport complet de lectura/escriptura per a MSG, el contenidor binari CFB subjacent i el format EML/MIME Tot sota la llicència del MIT sense restriccions d’ús.

Si estàs construint un pipeline d’arxiu de correu electrònic, una eina de migració, un extractor d"actius adjunts, o un generador automàtic de MSG, aquesta biblioteca li dóna accés directe i a baix nivell a cada byte del el format de correu electrònic al costat d’un alt nivell MapiMessage API que et permet començar en minuts.


Característiques clau

Llegir arxius MSG d’ Outlook

Obre qualsevol . .msg arxiu d’un camí o flux amb: MsgReader.FromFile() o de la seva MsgReader.FromStream(). Accedir al flux de propietats MAPI complet, registres dels destinataris i sub-emmagatzematges d’acte adjunt en el lloc web. nivell de byte brut via MsgStorage i de la 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);

Crear arxius MSG des de zero

Construir un correu electrònic complet programàticament utilitzant MapiMessage.Create().Setgeu el tema, text sencer. cos, HTML de cos i nom del remitent, adreça d’e-mail del seu remitent, temps de lliurament i ID del missatge a Internet. afegir destinataris amb: AddRecipient() i accesoris amb: AddAttachment().Serialitzar amb: 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);

Converteix EML en MSG (i viceversa)

Carregar un RFC 5322 estàndard .eml arxiu en un MapiMessage amb: MapiMessage.LoadFromEml(), després guardar-lo com a Outlook .msg arxiu o revertir el procés amb MapiMessage.SaveToEml(). El parser MIME incorporat conserva el tema, el cos, HTML, remitents, destinataris i adjunts. a través de viages complet d’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);

Accés al contenidor CFB de baix nivell

Els fitxers Outlook MSG estan construïts en el format Compound File Binary (CFB) un binari jeràrquic. contenidor similar a un sistema de fitxers. CfbReader exposa l’arbre de directori complet: iterar emmagatzematges i corredors amb IterStorages(), IterStreams(), i IterChildren(), navegar a l’especificat entrades per camí amb: ResolvePath(), i llegir bits de flux brut amb GetStreamData().

CfbWriter permet construir i serialitzar un document CFB des de zero. Crear una CfbDocument, adjuntar CfbStorage i de la CfbStream nodes, i cridar CfbWriter.ToBytes() o de la seva CfbWriter.WriteFile() per serialitzar.

Propietat MAPI i accés a l’annexament

El MapiPropertyCollection classe proporciona accés de propietat MAPI tipitzada per a qualsevol MSG o emmagatzematge. Object: ús Get(), Set(), Add(), i Remove() amb norma CommonMessagePropertyId o de la seva PropertyTypeCode Accedir a metadades d’acte adjunt i dades binàries via MapiAttachment propietats: Filename, MimeType, ContentId, i Data.


Inici ràpid

Instal·lar el paquet:

dotnet add package Aspose.Email.Foss

Llegeix un tema d’un fitxer de 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})");

Formats suportats

Format de la pàginaExtensióLlegeix.Escriure
Arxiu binari compost.cfb
Mensaig d’ Outlook.msg
MIME / EML.eml

Fonte oberta i llicències

Aspose.Email FOSS for .NET is released under the Llicència MIT.Podeu utilitzar-la lliurement en: projectes personals, comercials i de codi obert sense restriccions d’ús. El codi font és disponible a: github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.


Com començar a treballar