Ú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át | Rozšíř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.