Úvodní článek

Aspose.Email FOSS for .NET is a free, open-source C# library that lets you work with Outlook Soubory MSG, kontejnery Compound File Binary (CFB) a zprávy EML přímo v .NET. Žádná aplikace Microsoft Outlook, žádná COM interop a žádné nativní knihovny. Distribuovat jako jediný paket NuGet a běží identicky na Windows, Linuxu, macOSu a Dockerových kontejnerech., a bezserverové funkce.

Knihovna řeší opakující se problém v podnikové a integrační práci: Outlook .msg soubory jsou vyráběny miliony obchodních uživatelů, ale jejich analýza bez Outlook má historicky COM vyžadovala automatizaci nebo drahé komerční knihovny. Aspose.Email FOSS pro .NET poskytuje: plná podpora čtení/psaní pro MSG, podkladový binární kontejner CFB a formát EML/MIME Vše pod licencí MIT bez omezení použití.

Ať už stavíte archivní pipeline e-mailů, migrační nástroj nebo extraktor příloh., nebo automatický generátor MSG, tato knihovna vám dává přímý přístup na nízké úrovni ke každému bajtovi formát e-mailu vedle vysoce postaveného MapiMessage API, která vám umožní začít v minutách.


Klíčové prvky

Čtení souborů Outlook MSG

Otevřete si ho. .msg soubor z cesty nebo proudu s MsgReader.FromFile() nebo: MsgReader.FromStream(). Přístup k úplnému proudu vlastností MAPI, záznamům příjemců a podskladnicím připojených souborů na stránce Hranice bytu přes: MsgStorage a) 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);

Vytvořit soubory MSG od nuly

Postavit kompletní e-mail programově pomocí MapiMessage.Create().Nastavte předmět, prostý text. body, HTML body , název odesílatele, e-mailová adresa odesazovatele, doba doručení a ID internetové zprávy, pak přidat příjemce s AddRecipient() a přípojných prvků s: AddAttachment().Sérializace s 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);

Konverze EML na MSG (a zpět)

Naložit standardní RFC 5322 .eml soubor do MapiMessage s: MapiMessage.LoadFromEml(), pak si ho uložíte jako Outlook . .msg nebo zvrátit proces s MapiMessage.SaveToEml(). Vestavěný MIME parser zachovává předmět, tělo, HTML tělo a přílohy. prostřednictvím plných EML MSG přeplav.

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

Přístup k kontejnerům CFB nízké úrovně

Soubory Outlook MSG jsou postaveny ve formátu Compound File Binary (CFB) hierarchický binární soubor . kontejner podobný souborovému systému. CfbReader odhalí celý strom adresářů: iterovat ukládání a potoky s IterStorages(), IterStreams(),a) IterChildren(), navigujte na specifické . údaje podle cesty s: ResolvePath(), a číst surové bity proudu s GetStreamData().

CfbWriter umožňuje vytvořit a sériově upravit CFB dokument od nuly. Vytvořte si CfbDocument, přiložit CfbStorage a) CfbStream uzly a volání CfbWriter.ToBytes() nebo: CfbWriter.WriteFile() - A co se děje?.

MAPI vlastnost a přístup k přílohám

Úřad pro bezpečnost a ochranu zdraví MapiPropertyCollection třída poskytuje typovaný přístup k vlastnostem MAPI pro jakékoli MSG nebo úložiště. předmět: použití Get(), Set(), Add(),a) Remove() s standardním CommonMessagePropertyId nebo: PropertyTypeCode přístup k metadátům připojených dat a binárním údajům prostřednictvím MapiAttachment vlastnosti: Filename, MimeType, ContentId,a) Data.


Rychlý start

Nainstalujte balíček:

dotnet add package Aspose.Email.FOSS

Čtěte si téma z souboru 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})");

Podporované formáty

FormátRozšířeníČtěte.Píšeš.
Binární soubor složeného souboru.cfb
Sdělení Outlook.msg
MIME / EML.eml

Open Source & Licence

Aspose.Email FOSS for .NET is released under the Licence MIT.Můžete ho používat volně v … osobní, komerční a open-source projekty bez omezení použití. Zdrojový kód je k dispozici na: Github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.


Jak začít?