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

Aspose.Email FOSS pentru .NET

Citiți, creați și procesați fișiere Outlook MSG, containere CFB și mesaje EML din .NET — gratuit și open-source, fără dependență de Microsoft Outlook.

Bibliotecă .NET open-source pentru fișiere MSG, CFB și EML

Aspose.Email FOSS pentru .NET este o bibliotecă C# licențiată sub MIT, fără dependențe, pentru lucrul cu fișierele Microsoft Outlook .msg, containerele Compound File Binary (CFB) și mesajele EML. Adăugați un singur pachet NuGet și începeți imediat să citiți, să creați și să procesați mesaje de e‑mail fără a instala Microsoft Outlook sau orice runtime proprietar.

Biblioteca oferă două niveluri de acces. La nivelul inferior, CfbReader și CfbWriter oferă control complet asupra containerelor binare CFB — parcurgerea intrărilor de director, citirea și scrierea nodurilor de stocare și a datelor fluxului, și inspectarea aranjamentului brut al sectoarelor. MsgReader și MsgWriter gestionează formatul MSG deasupra CFB, expunând fluxurile de proprietăți MAPI, tabelele de destinatari și sub‑stocările de atașamente. La nivelul înalt, MapiMessage vă permite să creați mesaje noi de la zero, să citiți subiectul, corpul, expeditorul și destinatarii, să gestionați atașamentele și să convertiți între formatul MSG și EML printr‑o implementare MIME încorporată.

Biblioteca vizează .NET 8.0 sau o versiune ulterioară și nu are dependențe native, făcând-o potrivită pentru Windows, Linux, macOS, containere Docker și funcții serverless. Pentru funcționalități suplimentare și suport comercial, consultați Aspose.Email for .NET.

Citire și scriere container CFB

  • Open CFB files: Încarcă containere CFB existente dintr-o cale de fișier, flux sau tablou de octeți prin CfbReader.FromFile(), CfbReader.FromStream() sau new CfbReader(data).
  • Parcurge arborele de directoare: Iterați stocările, fluxurile și copiii utilizând IterStorages(), IterStreams(), IterChildren(), și IterTree().
  • Rezolvați căile: Navigați ierarhiile de stocare imbricate cu ResolvePath(names) pentru a localiza un flux specific prin lanțul de nume.
  • Scrie containere CFB: Construiește documente CFB programatic cu CfbDocument și le serializează în bytes sau fișier prin CfbWriter.ToBytes() sau CfbWriter.WriteFile().
  • Adăugați stocări și fluxuri: Atașați nodurile CfbStorage și CfbStream la orice nod de stocare înainte de serializare.

Unde este utilizat accesul CFB

  • Inspectarea fișierului MSG: CFB este formatul container pentru fișierele Outlook .msg — accesul direct la CFB permite inspectarea și repararea forensică.
  • Formate binare personalizate: Orice aplicație legacy care utilizează CFB pentru stocarea datelor poate fi citită sau scrisă fără o dependență COM.
  • Recuperare de date: Parcurgeți arborele complet de directoare și extrageți octeții fluxului brut din fișiere CFB deteriorate sau non-standard.
  • Testare round-trip binară: Serializați un document în octeți și reîncărcați-l pentru a verifica serializarea fără pierderi în testele automate.

Citire și scriere fișier MSG

  • Citește fișierele MSG: Deschide fișierele Outlook MSG cu MsgReader.FromFile() sau MsgReader.FromStream() și accesează fluxurile de proprietăți MAPI subiacente, înregistrările destinatarilor și sub-stocările de atașamente.
  • Scrie fișiere MSG: Produce fișiere MSG dintr-un MsgDocument cu MsgWriter.ToBytes() sau MsgWriter.WriteFile().
  • Acces MAPI la nivel scăzut: Citiți fluxurile de proprietăți de nivel superior, proprietățile denumite și datele atașamentelor prin MsgStorage, MsgStream și MsgStorage.FindStream().
  • Navigare stocare MSG: Utilizați MsgStorage.FindStream() și MsgStorage.FindStorage() pentru a localiza subintrările denumite.

Unde este utilizată procesarea MSG

  • Email archival pipelines: Citește în bloc fișiere .msg din directoarele de arhivă și extrage metadatele sau atașamentele.
  • Instrumente de migrare: Convertiți colecțiile MSG în formate standard pentru import în sisteme non-Outlook.
  • Descoperire juridică: Analizați fluxurile brute de proprietăți MAPI pentru a extrage toate câmpurile mesajului, inclusiv proprietățile non-standard.
  • Livrare automată a rapoartelor: Construiți fișiere .msg programatic și livrați-le către sistemele de mail bazate pe Outlook.

API de Mesaje de Nivel Înalt

  • Creează mesaje: Construiește un e‑mail complet cu MapiMessage.Create(subject, body), setează SenderName, SenderEmailAddress și HtmlBody.
  • Adăugați destinatarii: Atașați destinatarii To, Cc și Bcc prin AddRecipient() cu adresa de e‑mail și numele afișat.
  • Gestionați atașamentele: Adăugați atașamente de fișier și flux cu AddAttachment() sau construiți obiecte MapiAttachment direct cu Filename, MimeType, ContentId și Data.
  • Salvează și reîncarcă: Serializați cu message.Save() sau message.Save(stream) și reîncărcați cu MapiMessage.FromFile() sau MapiMessage.FromStream().

Unde este utilizată API-ul de nivel înalt

  • Generare automată de e‑mail: Generați mii de fișiere MSG personalizate din înregistrările de date în sarcini batch.
  • Crearea fixture-ului de test: Construiți fișiere MSG de încredere cu conținut predictibil pentru suitele de teste de integrare.
  • Extracție de atașamente: Încărcați un fișier MSG, iterați message.Attachments, și salvați fiecare attachment.Data pe disc.
  • Inspecție proprietate: Accesați message.Subject, message.Body, message.SenderEmailAddress și message.Recipients fără automatizare COM.

Conversie EML și MIME

  • Încarcă EML în MapiMessage: Analizează un fișier standard .eml (RFC 5322 / MIME) într-un obiect MapiMessage complet prin MapiMessage.LoadFromEml(stream).
  • Save MapiMessage as EML: Serializați un MapiMessage înapoi în format MIME cu message.SaveToEml() sau message.SaveToEml(stream).
  • Round-trip fidelity: Subiect, corp, corp HTML, expeditor, destinatari și atașamente sunt toate păstrate în timpul conversiilor EML → MSG → EML.
  • Fără parser MIME extern: Analiza EML este implementată nativ în bibliotecă — nu este necesară dependența de System.Net.Mail.

Unde este utilizată conversia EML

  • Conectarea formatelor: Primește e‑mailuri în format EML de la serverele de mail și convertește-le în MSG pentru stocare compatibilă cu Outlook.
  • Conformitate cu standardele: Convertiți fișierele proprietare MSG în MIME standard pentru livrarea către orice transport de e-mail.
  • Normalizare arhivă: Normalizați o arhivă mixtă de fișiere .eml și .msg la un singur format.
  • Fluxuri de testare: Generați fixture-uri .eml în teste și verificați că supraviețuiesc rundei de transfer MSG fără pierdere de date.

Citește subiectul dintr-un fișier MSG

Deschide un fișier Outlook MSG dintr-un flux și afișează subiectul — nu este necesar 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);

Creează și salvează un mesaj MSG

Creează un e‑mail complet cu expeditor, destinatar și atașament, apoi scrie‑l într-un fișier 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);

Convertește EML în MSG

Încărcați un fișier standard .eml și salvați-l ca fișier Outlook .msg utilizând parserul MIME încorporat.

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

Support and Learning Resources

 Română