Wie man Dateien in C# liest MSG
Diese Anleitung zeigt, wie man Outlook öffnet. .msg Datei und ihren Inhalt extrahieren, indem sie Aspose.Email FOSS for .NET. You will access the subject, body, sender, recipients, and attachment list using MapiMessage.Die Bibliothek unterstützt das Laden von einem Dateipfad, ein Stream, oder roh byte[].
Schritt 1 Installieren des Pakets
dotnet add package Aspose.Email.FOSSSchritt 2 Laden der Datei MSG
using Aspose.Email.Foss.Msg;
using var message = MapiMessage.FromFile("sample.msg");Sie können auch von einem Stream laden:
using var stream = File.OpenRead("sample.msg");
using var message = MapiMessage.FromStream(stream);Schritt 3 Nachrichtenfelder lesen
Console.WriteLine($"Subject: {message.Subject}");
Console.WriteLine($"From: {message.SenderName} <{message.SenderEmailAddress}>");
Console.WriteLine($"Date: {message.MessageDeliveryTime}");
Console.WriteLine($"Body: {message.Body}");Schritt 4 Lesen der Empfänger
foreach (var recipient in message.Recipients)
{
Console.WriteLine($"{recipient.DisplayName} <{recipient.EmailAddress}>");
}Schritt 5 Anhangs auszuziehen
foreach (var attachment in message.Attachments)
{
Console.WriteLine($"Saving: {attachment.Filename}");
File.WriteAllBytes(attachment.Filename!, attachment.Data);
}Für eingebettete Nachrichtenanlagen:
foreach (var attachment in message.Attachments)
{
if (attachment.IsEmbeddedMessage)
{
Console.WriteLine($"Embedded: {attachment.EmbeddedMessage!.Subject}");
}
}Vollständiges Beispiel
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);
}