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

Aspose.Email FOSS for .NET

Citește, creează și procesează fișiere Outlook MSG, containere CFB și mesaje EML din .NET — gratuit și open‑source, fără dependență de Microsoft Outlook.

Open-Source .NET Library pentru fișiere MSG, CFB și EML

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

Biblioteca oferă două niveluri de acces. La nivelul inferior, CfbReader și CfbWriter dau control complet asupra containerelor binare CFB intrările directoriilor traversale, citesc și scriu nodurile de stocare și fluxurile datelor și inspectează structura sectorului brut. MsgReader şi MsgWriter gestionează formatul MSG deasupra CF B, expunând fluxuri ale proprietății MAPI, tabele destinatarilor și sub-stocări de atașamente. la nivel înalt,MapiMessage vă permite să creați noi mesaje de la zero, să citiți, corpul, expeditorul și destinatarii, gestionați ataşamentele și să convertiți între formatele MS G și EML prin implementarea integrată a MIME.

Biblioteca vizează .NET 8.0 sau mai târziu și nu are dependențe native, făcându-l potrivit pentru Windows, Linux, macOS, containere Docker și funcții fără server. Pentru caracteristici suplimentare și suport comercial, a se vedea Aspose.Email for .NET.

CFB Container Citire și scriere

  • ** Deschide fișiere CFB:** Încărcați containerele CF B existente dintr-o cale de dosar, flux sau matrice de baiti prin CfbReader.FromFile(), CfbReader.FromStream() sau new CfbReader(data).
  • ** Treceți prin arborele de directorii:** Iterati stocarea, fluxurile și copii folosind IterStorages(), IterStreams() , IterChildren() și IterTree().
  • Rezolvă căile: Navighează prin ierarhii de stocare cu adăposturi folosind ResolvePath(names) pentru a localiza un flux specific după lanțul de nume.
  • Scriu containere CFB: Construiți documentele CF B programatic cu CfbDocument și serializați în baiti sau fișier prin CfbWriter.ToBytes() sau CfbWriter.WriteFile().
  • ** Adăugați stocare și fluxuri:** Atașați nodurile CfbStorage și CfbStream la orice node de stolare înainte de serializare.

În cazul în care se utilizează accesul CFB

  • ** Inspecția fișierului MSG:** CFB este formatul de container pentru fișierele Outlook .msg accesul direct la CF B permite inspecție și reparare forensică.
  • ** Formatele binare personalizate:** Orice aplicație veche care utilizează CFB pentru stocarea datelor poate fi citită sau scrisă fără o dependență COM.
  • ** Recuperarea datelor:** Treci prin arborele complet al directoriilor și extrageți baiti de flux cruzi din fișiere CFB deteriorate sau ne-standard.
  • ** Teste binare de întoarcere:** Serializați un document în baiti și reîncărcați-l pentru a verifica serializarea fără pierderi în testele automatizate.

Fişier MSG Citit şi scris

  • Citește fișiere MSG: Deschideți fișii Outlook MS G cu MsgReader.FromFile() sau MsgReader.FromStream() și accesați fluxurile de proprietate MAPI subiacente, înregistrările destinatarilor și subspațelele de stocare a atașamentelor.
  • Scriu fișiere MSG: Produce fișeuri MS G dintr-un MsgDocument cu MsgWriter.ToBytes() sau MsgWriter.WriteFile().
  • Accesul MAPI la nivel scăzut: Citirea fluxurilor de proprietăți de nivel superior, a proprietății numite și a datelor atașate prin MsgStorage, MsgStream și MsgStorage.FindStream().
  • ** Navigația de stocare MSG:** Utilizați MsgStorage.FindStream() și MsgStorage.FindStorage() pentru a localiza sub-înregistrări denumite.

În cazul în care se utilizează procesarea MSG-ului

  • ** Pipelines de arhivare e-mail:** Fișierele .msg citite în masă din directorii de archive și extrag metadate sau atașamente.
  • ** Instrumente de migrare:** Convertiți colecțiile MSG în formate standard pentru import în sisteme care nu sunt Outlook.
  • ** Descoperire legală:** Analizați fluxurile de proprietate MAPI brute pentru a extrage toate câmpurile mesajelor, inclusiv proprietățile ne-standard.
  • ** Distribuirea automată a rapoartelor:** Construiți fișierele .msg în mod programat și livrați-le sistemelor de poștă bazate pe Outlook.

API de mesaje la nivel înalt

  • Crearea de mesaje: Construirea unui e-mail complet cu MapiMessage.Create(subject, body), setul SenderName , SenderEmailAddress și HtmlBody.
  • ** Adăugați destinatari:** Atașați To, Cc și Bcc destinatarilor prin intermediul AddRecipient() cu adresa de e-mail și numele afișat.
  • Gestiunea atașamentelor: Adăugați fișiere și flux de ataşamente cu AddAttachment() sau construiți obiecte MapiAttachment direct cuFilename, MimeType , ContentId și Data.
  • ** Salvare și relocarea:** Serializare cu message.Save() sau message.Save(stream) și încărcare cuMapiMessage.FromFile() ori MapiMessage.FromStream().

Unde se utilizează API-ul de nivel înalt

  • Generare automată de e‑mailuri: Generează mii de fișiere MSG personalizate din înregistrările de date în sarcini batch.
  • Crearea de fixture-uri de test: Construiește fișiere MSG de încredere cu conținut predictibil pentru suitele de teste de integrare.
  • Extracție de atașamente: Încarcă un fișier MSG, iterează message.Attachments și salvează fiecare attachment.Data pe disc.
  • Inspectarea proprietăților: Accesează message.Subject, message.Body, message.SenderEmailAddress și message.Recipients fără automatizare COM.

Conversie EML și MIME

  • Load EML în MapiMessage: Parsează un fișier standard .eml (RFC 5322 / MIME) într-un obiect complet MapiMessage prin intermediul MapiMessage.LoadFromEml(stream).
  • ** Salvați MapiMessage ca EML:** Serializați un MapiMessage înapoi în formatul MIME cu message.SaveToEml() sau message.SaveToEml(stream).
  • Fidelitatea de întoarcere: Subiectul, corpul, textul HTML, expeditorul și fișele atașate sunt toate păstrate prin intermediul EML → MSG → călătoriile în rotund EM L.
  • ** Fără parser MIME extern:** Parsingul EML este implementat în mod nativ în bibliotecă nu este necesară dependența System.Net.Mail.

Unde se utilizează conversiunea EML

  • Format de punte: Recepționați e-mailuri ca EML din serverele de poștă și convertiți la MSG pentru stocarea compatibilă cu Outlook.
  • ** Conformitate cu standardele:** Convertiți fișiere MSG proprietare în MIME standard pentru livrare la orice transport poștal.
  • Arhivă normalizare: Normalizați o arhiva mixtă de fișiere .eml și .msg într-un singur format.
  • ** Fluxuri de lucru pentru teste:** Generați fixurile .eml în cadrul testelor și verificați dacă acestea supraviețuiesc călătoriei MSG fără pierderi de date.

Citeste subiectul dintr-un fișier MSG

Deschideți un fișier Outlook MSG dintr-un flux și imprimați 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);

Crearea și salvarea unui mesaj MSG

Construi un e-mail complet cu expeditor, destinatar și atașament, apoi scrieți-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);

Convertiti EML în MSG

Încărcați un fișier standard .eml și salvați-l ca fișier Outlook .msg folosind 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ă