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

Aspose.Email FOSS for .NET

Läs, skapa och bearbeta Outlook MSG‑filer, CFB‑behållare och EML‑meddelanden från .NET — gratis och öppen källkod, utan Microsoft Outlook‑beroende.

Open-Source .NET Library för MSG, CFB och EML filer

Aspose.Email FOSS för .NET är ett MIT-licensierat, beroende-fritt C# bibliotek för att arbeta med Microsoft Outlook .msg filer, Compound File Binary (CFB) containrar och EML-meddelanden. Lägg till ett enda NuGet paket och börja omedelbart läsa, skapa och bearbeta e‑postmeddelanden utan att installera Microsoft Outlook eller någon proprietär runtime.

Biblioteket erbjuder två åtkomstnivåer. På låg nivå ger CfbReader och CfbWriter full kontroll över CFB binära containrar — traversera katalogposter, läsa och skriva lagringsnoder och strömdata, samt inspektera den råa sektorlayouten. MsgReader och MsgWriter hanterar MSG-formatet ovanpå CFB, exponerar MAPI‑egenskapsströmmar, mottagartabeller och bifogade underlagringar. På hög nivå låter MapiMessage dig skapa nya meddelanden från grunden, läsa ämne, brödtext, avsändare och mottagare, hantera bilagor och konvertera mellan MSG‑ och EML‑format via en inbyggd MIME‑implementation.

Biblioteket riktar sig mot .NET 8.0 eller senare och har inga inhemska beroenden, vilket gör det lämpligt för Windows, Linux, macOS, Docker‑containrar och serverlösa funktioner. För ytterligare funktioner och kommersiellt stöd, se Aspose.Email for .NET.

CFB-behållare Läs och skriv

  • Öppna CFB-filer: Ladda befintliga CF B-behållare från en filväg, stream eller bytearray via CfbReader.FromFile(), CfbReader.FromStream() eller new CfbReader(data).
  • ** Gå igenom katalogträdet:** Iterera lagringar, strömmar och barn med hjälp av IterStorages(), IterStreams(),IterChildren() och IterTree().
  • Lösar vägar: Navigera i inneslutna lagringshierarkier med ResolvePath(names) för att hitta en specifik ström efter namnkedja.
  • ** Skriv CFB-behållare:** Bygg CF B-dokument programmatiskt med CfbDocument och seriera till byte eller fil via CfbWriter.ToBytes() eller CfbWriter.WriteFile().
  • Lägg till lagringar och strömmar: Lägga CfbStorage och CfbStream knutar till alla lagringsknuter före serialisering.

När CFB-åtkomst används

  • MSG-filinspektion: CFB är containerformat för Outlook .msg -filer Direkt tillgång till CF B möjliggör rättsmedicinsk inspektion och reparation.
  • Anpassade binära format: Alla äldre applikationer som använder CFB för datalagring kan läsas eller skrivas utan COM-beroende.
  • ** Dataåterställning:** Gå igenom hela katalogträdet och extrahera råströmbytes från skadade eller icke-standardiserade CFB-filer.
  • Binarisk rundresetestning: Serialisera ett dokument till byte och ladda om det för att verifiera förlustfri serialisering i automatiserade tester.

MSG-fil Läs och skriv

  • Läs MSG-filer: Öppna Outlook MS G-filer med MsgReader.FromFile() eller MsgReader.FromStream() och få tillgång till underliggande MAPI-egendomströmmar, mottagarposter och bifogade dellagringar.
  • ** Skriv MSG-filer:** Producera MS G-filer från en MsgDocument med MsgWriter.ToBytes() eller MsgWriter.WriteFile().
  • Lågt nivå MAPI-åtkomst: Läs högsta nivå egendomströmmar, namngivna egenskaper och bifogad data via MsgStorage, MsgStream, och MsgStorage.FindStream().
  • MSG-lagring: Använd MsgStorage.FindStream() och MsgStorage.FindStorage() för att hitta namngivna underposter.

Var MSG-bearbetning används

  • E-postarkivpipeliner: Bulkläsa .msg filer från arkivkataloger och extrahera metadata eller bilagor.
  • Migrationsverktyg: Konvertera MSG-samlingar till standardformat för import i system som inte är Outlook.
  • Legal discovery: Analysera rå MAPI-egendomströmmar för att extrahera alla meddelandefält, inklusive icke-standard egendomar.
  • Automatiserad rapportering: Programmatiskt bygga .msg-filer och leverera dem till Outlookbaserade postsystem.

API för meddelanden på hög nivå

  • Skapa meddelanden: Bygg ett komplett e‑postmeddelande med MapiMessage.Create(subject, body), ange SenderName, SenderEmailAddress och HtmlBody.
  • Lägg till mottagare: Bifoga To, Cc och Bcc mottagare via AddRecipient() med e‑postadress och visningsnamn.
  • Hantera bilagor: Lägg till fil‑ och strömbilagor med AddAttachment() eller konstruera MapiAttachment‑objekt direkt med Filename, MimeType, ContentId och Data.
  • Spara och ladda om: Serialisera med message.Save() eller message.Save(stream) och ladda om med MapiMessage.FromFile() eller MapiMessage.FromStream().

Var högnivå-API används

  • Automatiserad e-postgenerering: Generera tusentals personliga MSG-filer från dataposteringar i batchjobb.
  • Skapande av testfixture: Bygg pålitliga MSG-filer med förutsägbart innehåll för integrationstestsviter.
  • Extrahering av bilagor: Läs in en MSG-fil, iterera message.Attachments, och spara varje attachment.Data till disk.
  • Egenskapsinspektion: Åtkomst till message.Subject, message.Body, message.SenderEmailAddress och message.Recipients utan COM-automation.

EML- och MIME-omvandling

  • Ladda EML i MapiMessage: Parse en standard .eml fil (RFC 5322 / MIME) till ett fullt MapiMessage objekt via MapiMessage.LoadFromEml(stream).
  • ** Spara MapiMessage som EML:** Seriera en MapiMessage tillbaka till MIME-format med message.SaveToEml() eller message.SaveToEml(stream).
  • Runt-resan: Subjekt, kropp, HTML-kroppen, avsändare, mottagare och bifogade filer bevaras alla genom EML → MSG → EM L-rundresor.
  • Ingen extern MIME-parser: EML-parsning implementeras lokalt i biblioteket inget System.Net.Mail beroende krävs.

Omvandling av EML-värden

  • Formatbrygning: Ta emot e-postmeddelanden som EML från postservrar och konvertera till MSG för Outlook-kompatibel lagring.
  • Standardöverensstämmelse: Konvertera proprietära MSG-filer till standard MIME för leverans till alla posttransporter.
  • Arkivnormering: Normalisera ett blandat arkiv av .eml och .msg-filer till ett enda format.
  • Testningsarbetsflöden: Generera .eml-inställningar i tester och kontrollera att de överlever MSG-turen utan dataförlust.

Läs ämne från en MSG-fil

Öppna en Outlook MSG-fil från ett ström och skriva ut ämnet ingen Microsoft Outlook krävs.

using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

Skapa och spara ett MSG-meddelande

Skapa ett komplett e-postmeddelande med avsändare, mottagare och bifogade filer. Skriv det sedan till en MSG-fil.

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

Omvandla EML till MSG

Ladda in en standardfil .eml och spara den som Outlook-fil.msg med hjälp av den inbyggda MIME-parseren.

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

Stöd och Lärande Resurser

 Svenska