Indledning
Aspose.Email FOSS for .NET is a free, open-source C# library that lets you work with Outlook MSG-filer, CFB-containere og EML-meddelelser direkte i .NET. ingen Microsoft Outlook, ingen COM-interop og ingen native biblioteker kræves. Distribuer Det er en enkelt NuGet-pakke, og det kører identisk på Windows, Linux, macOS, Docker containere., og serverløse funktioner.
Biblioteket løser et tilbagevendende problem i virksomhed og integration: Outlook. .msg filer er produceret af millioner af forretningsbrugere, men parsering dem uden Outlook har historisk set COM krævede automatisering eller dyre kommercielle biblioteker. Aspose.Email FOSS for .NET giver fuld læs-/skrivstøtte til MSG, den underliggende CFB binære container og EML/MIME formatet Alt under MIT-licensen uden brugsbegrænsninger.
Uanset om du bygger en e-mail arkiverings pipeline, et migrationsværktøj, en vedhæftede ekstraktor, eller en automatiseret MSG generator, dette bibliotek giver dig direkte adgang til alle byte af e-mail formatet sammen med en høj niveau MapiMessage API, som kan du komme i gang på få minutter.
Nøgleegenskaber
Læs Outlook MSG-filer
Åbn en hvilken som helst. .msg fil fra en vej eller strøm med MsgReader.FromFile() eller en anden MsgReader.FromStream(). Tilgå den komplette MAPI-egenskabstrøm, modtageroptegnelser og vedhæftede underlagre på rå byte niveau via MsgStorage og: 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);
Oprette MSG-filer fra scratch
Opbyg en komplet e-mail programmeringsmæssigt ved hjælp af MapiMessage.Create().- Sæt emnet i tekst. body, HTML-body, afsenderens navn, e-mailadresse for afsenderen, leveringstid og internetmeddelelses ID, så tilføje modtagere med AddRecipient() og vedhæftede dele med: AddAttachment().Serialiser med: 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);
Konvertere EML til MSG (og tilbage)
Indlæsning af standard RFC 5322 .eml filen i en MapiMessage med: MapiMessage.LoadFromEml(), Så gem det som Outlook. .msg fil eller omvendt proces med MapiMessage.SaveToEml(). Den indbyggede MIME-parser bevarer emne, krop, HTML-legeme, afsender, modtagere og vedhæftede filer gennem fuld EML MSG-rundtur.
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);
Tilgang til CFB-containere på lavt niveau
Outlook MSG-filer er bygget på Compound File Binary (CFB) -format et hierarkisk binært format En container, der ligner et filsystem. CfbReader udstiller hele katalogtræet: iterere lagringer og vandløb med IterStorages(), IterStreams(), og IterChildren(), navigere til specifikke indgange efter vej med: ResolvePath(), og læse rå strøm bytes med GetStreamData().
CfbWriter giver dig mulighed for at konstruere og serialisere et CFB-dokument fra bunden. Oprette en CfbDocument, vedhæfte CfbStorage og: CfbStream Noder og opkald CfbWriter.ToBytes() eller en anden CfbWriter.WriteFile() at serialisere.
MAPI-egenskaber og adgang til vedhæftede filer
Den Europæiske Union MapiPropertyCollection klasse giver typede MAPI-egenskaber adgang til enhver MSG eller lagring genstand: anvendelse Get(), Set(), Add(), og Remove() med standard CommonMessagePropertyId eller en anden PropertyTypeCode adgang til vedhæftede metadata og binære data via MapiAttachment egenskaber: Filename, MimeType, ContentId, og Data.
Hurtig start
Installer pakken:
dotnet add package Aspose.Email.Foss
Læs et emne fra en MSG-fil:
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})");
Støttede formater
| Format: | Udvidelse | Læs det. | Skriv ned |
|---|---|---|---|
| Binær sammensat fil | .cfb | ✓ | ✓ |
| Outlook-meddelelse | .msg | ✓ | ✓ |
| MIME / EML | .eml | ✓ | ✓ |
Open Source & Licensing
Aspose.Email FOSS for .NET is released under the MIT-licens.Du kan bruge den frit i din egen bolig. Det er en del af et privat, kommercielt og open-source projekt uden brugsbegrænsninger. Tilgængelig på: github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.