Hur man läser MSG-filer i C#
Denna guide visar hur man öppnar en Outlook .msg fil och extrahera dess innehåll med hjälp av Aspose.Email FOSS for .NET. You will access the subject, body, sender, recipients, and attachment list using MapiMessage.Biblioteket stöder laddning från en filvägen, a Stream,Eller en rå byte[].
Steg 1 – Installera paketet
dotnet add package Aspose.Email.FOSSSteg 2 – Ladda ner MSG-filen
using Aspose.Email.Foss.Msg;
using var message = MapiMessage.FromFile("sample.msg");Du kan också ladda från en ström:
using var stream = File.OpenRead("sample.msg");
using var message = MapiMessage.FromStream(stream);Steg 3 – Läs meddelandebolag
Console.WriteLine($"Subject: {message.Subject}");
Console.WriteLine($"From: {message.SenderName} <{message.SenderEmailAddress}>");
Console.WriteLine($"Date: {message.MessageDeliveryTime}");
Console.WriteLine($"Body: {message.Body}");Steg 4 – Läs receptorer
foreach (var recipient in message.Recipients)
{
Console.WriteLine($"{recipient.DisplayName} <{recipient.EmailAddress}>");
}Steg 5 – Extract tillbehör
foreach (var attachment in message.Attachments)
{
Console.WriteLine($"Saving: {attachment.Filename}");
File.WriteAllBytes(attachment.Filename!, attachment.Data);
}För inbyggda meddelanden bifogade:
foreach (var attachment in message.Attachments)
{
if (attachment.IsEmbeddedMessage)
{
Console.WriteLine($"Embedded: {attachment.EmbeddedMessage!.Subject}");
}
}Fullständigt exempel
using Aspose.Email.Foss.Msg;
using var message = MapiMessage.FromFile("sample.msg");
Console.WriteLine($"Subject: {message.Subject}");
Console.WriteLine($"From: {message.SenderName} <{message.SenderEmailAddress}>");
foreach (var r in message.Recipients)
Console.WriteLine($" {r.DisplayName} <{r.EmailAddress}>");
foreach (var a in message.Attachments)
{
if (a.IsEmbeddedMessage)
Console.WriteLine($" Embedded: {a.EmbeddedMessage!.Subject}");
else
File.WriteAllBytes(a.Filename!, a.Data);
}