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

Aspose.Email FOSS per a .NET

Llegeix, crea i processa fitxers Outlook MSG, contenidors CFB i missatges EML des de .NET — gratuït i de codi obert, sense dependència de Microsoft Outlook.

Biblioteca .NET de codi obert per a fitxers MSG, CFB i EML

Aspose.Email FOSS per a .NET és una biblioteca C# amb llicència MIT, sense dependències, per treballar amb fitxers .msg de Microsoft Outlook, contenidors Compound File Binary (CFB) i missatges EML. Afegeix un únic paquet NuGet i comença immediatament a llegir, crear i processar missatges de correu electrònic sense instal·lar Microsoft Outlook ni cap entorn d’execució propietari.

La biblioteca ofereix dos nivells d’accés. A nivell baix, CfbReader i CfbWriter donen control total sobre contenidors binaris CFB — recórrer les entrades del directori, llegir i escriure nodes d’emmagatzematge i dades de flux, i inspeccionar la disposició bruta dels sectors. MsgReader i MsgWriter gestionen el format MSG sobre CFB, exposant fluxos de propietats MAPI, taules de destinataris i sub‑emmagatzematges d’adjuncions. A nivell alt, MapiMessage et permet crear nous missatges des de zero, llegir l’assumpte, el cos, l’emissor i els destinataris, gestionar adjuncions i convertir entre els formats MSG i EML mitjançant una implementació MIME integrada.

La biblioteca té com a objectiu .NET 8.0 o posterior i no té dependències natives, cosa que la fa adequada per a Windows, Linux, macOS, contenidors Docker i funcions sense servidor. Per a funcions addicionals i suport comercial, vegeu Aspose.Email for .NET.

Lectura i escriptura de contenidor CFB

  • Obrir fitxers CFB: Carrega contenidors CFB existents des d’una ruta de fitxer, flux o matriu de bytes mitjançant CfbReader.FromFile(), CfbReader.FromStream() o new CfbReader(data).
  • Recórrer l’arbre de directoris: Itera emmagatzematges, fluxos i fills utilitzant IterStorages(), IterStreams(), IterChildren() i IterTree().
  • Resolve paths: Navega per jerarquies d’emmagatzematge anidades amb ResolvePath(names) per localitzar un flux específic per cadena de noms.
  • Escriure contenidors CFB: Construeix documents CFB de manera programàtica amb CfbDocument i serialitza a bytes o fitxer mitjançant CfbWriter.ToBytes() o CfbWriter.WriteFile().
  • Afegeix emmagatzematges i fluxos: Adjunta els nodes CfbStorage i CfbStream a qualsevol node d’emmagatzematge abans de la serialització.

On s'utilitza l'accés CFB

  • Inspecció de fitxers MSG: CFB és el format de contenidor per a fitxers .msg d’Outlook — l’accés directe a CFB permet la inspecció forense i la reparació.
  • Formats binaris personalitzats: Qualsevol aplicació antiga que utilitzi CFB per a l’emmagatzematge de dades es pot llegir o escriure sense una dependència COM.
  • Recuperació de dades: Recórrer tot l’arbre de directoris i extreure els bytes del flux en brut d’arxius CFB danyats o no estàndard.
  • Prova de viatge d’anada i tornada binari: Serialitzeu un document a bytes i torneu-lo a carregar per verificar la serialització sense pèrdues en proves automatitzades.

Lectura i escriptura de fitxer MSG

  • Llegir fitxers MSG: Obriu fitxers MSG d’Outlook amb MsgReader.FromFile() o MsgReader.FromStream() i accediu als fluxos de propietats MAPI subjacents, als registres de destinataris i a les subemmagatzems d’adjuncions.
  • Escriu fitxers MSG: Produïu fitxers MSG a partir d’un MsgDocument amb MsgWriter.ToBytes() o MsgWriter.WriteFile().
  • Accés MAPI de baix nivell: Llegeix els fluxos de propietats de nivell superior, les propietats amb nom i les dades d’adjunció via MsgStorage, MsgStream i MsgStorage.FindStream().
  • Navegació d’emmagatzematge MSG: Utilitzeu MsgStorage.FindStream() i MsgStorage.FindStorage() per localitzar sub‑entrades amb nom.

On s'utilitza el processament de MSG

  • Email archival pipelines: Lectura massiva de fitxers .msg des de directoris d’arxiu i extreure metadades o adjunts.
  • Eines de migració: Convertir col·leccions MSG a formats estàndard per a la importació en sistemes que no siguin Outlook.
  • Descobriment legal: Analitza fluxos de propietats MAPI en brut per extreure tots els camps del missatge, incloses les propietats no estàndard.
  • Entrega automàtica d’informes: Construir fitxers .msg de manera programàtica i lliurar-los a sistemes de correu basats en Outlook.

API de missatge d’alt nivell

  • Crea missatges: Construeix un correu electrònic complet amb MapiMessage.Create(subject, body), estableix SenderName, SenderEmailAddress i HtmlBody.
  • Afegeix destinataris: Adjunta To, Cc i Bcc destinataris via AddRecipient() amb adreça de correu electrònic i nom per mostrar.
  • Gestiona els adjunts: Afegeix fitxers i adjunts de flux amb AddAttachment() o construeix objectes MapiAttachment directament amb Filename, MimeType, ContentId i Data.
  • Desa i recarrega: Serialitza amb message.Save() o message.Save(stream) i recarrega amb MapiMessage.FromFile() o MapiMessage.FromStream().

On s'utilitza l'API d'alt nivell

  • Generació automàtica de correus electrònics: Genera milers de fitxers MSG personalitzats a partir de registres de dades en tasques per lots.
  • Creació de fixtures de prova: Construir fitxers MSG fiables amb contingut previsible per a suites de proves d’integració.
  • Extracció d’adjunts: Carrega un fitxer MSG, itera message.Attachments, i desa cada attachment.Data al disc.
  • Inspecció de propietats: Accediu a message.Subject, message.Body, message.SenderEmailAddress i message.Recipients sense automatització COM.

Conversió d’EML i MIME

  • Carrega EML a MapiMessage: Analitza un fitxer .eml estàndard (RFC 5322 / MIME) en un objecte MapiMessage complet mitjançant MapiMessage.LoadFromEml(stream).
  • Desar MapiMessage com a EML: Serialitzar un MapiMessage de tornada al format MIME amb message.SaveToEml() o message.SaveToEml(stream).
  • Fidelitat de viatge d’anada i tornada: Assumpte, cos, HTML cos, remitent, destinataris i adjunts es conserven tots durant els viatges d’EML → MSG → EML.
  • Cap analitzador MIME extern: L’anàlisi d’EML s’implementa nativament dins de la biblioteca — no es requereix cap dependència de System.Net.Mail.

On s'utilitza la conversió d'EML

  • Format bridging: Rebre correus electrònics com a EML des dels servidors de correu i convertir-los a MSG per a un emmagatzematge compatible amb Outlook.
  • Compliment de normes: Convertiu fitxers MSG propietaris a MIME estàndard per a l’enviament a qualsevol transport de correu.
  • Normalització d’arxiu: Normalitza un arxiu mixt de fitxers .eml i .msg a un únic format.
  • Fluxos de treball de proves: Genera fixtures .eml en les proves i verifica que sobrevisquin al viatge d’anada i tornada de MSG sense pèrdua de dades.

Llegeix l’assumpte d’un fitxer MSG

Obre un fitxer Outlook MSG des d’un flux i imprimeix l’assumpte — no cal 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);

Crea i desa un missatge MSG

Creeu un correu electrònic complet amb remitent, destinatari i adjunt, i després deseu-lo en un fitxer 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);

Converteix EML a MSG

Carrega un fitxer .eml estàndard i desa’l com a fitxer .msg d’Outlook utilitzant l’analitzador MIME integrat.

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

Suport i recursos d aprenentatge

 Català