Πώς να διαβάσετε τα αρχεία MSG στο C#
Ο οδηγός μας δείχνει πώς να ανοίξετε ένα Outlook .msg Εισαγωγή και εξόρυξη περιεχομένου χρησιμοποιώντας Aspose.Email FOSS for .NET. You will access the subject, body, sender, recipients, and attachment list using MapiMessage.Η βιβλιοθήκη υποστηρίζει την φόρτωση από ένα αρχείο, μια Stream,ή ένα ριζικό byte[].
Βήμα 1 - Εγκατάσταση του πακέτου
dotnet add package Aspose.Email.FOSSΒήμα 2 - Κατεβάστε το αρχείο MSG
using Aspose.Email.Foss.Msg;
using var message = MapiMessage.FromFile("sample.msg");Μπορείτε επίσης να φορτίσετε από ένα ρεύμα:
using var stream = File.OpenRead("sample.msg");
using var message = MapiMessage.FromStream(stream);Βήμα 3 – Διαβάστε τα πεδία μηνυμάτων
Console.WriteLine($"Subject: {message.Subject}");
Console.WriteLine($"From: {message.SenderName} <{message.SenderEmailAddress}>");
Console.WriteLine($"Date: {message.MessageDeliveryTime}");
Console.WriteLine($"Body: {message.Body}");Βήμα 4 – Διαβάστε τα παραλήπτες
foreach (var recipient in message.Recipients)
{
Console.WriteLine($"{recipient.DisplayName} <{recipient.EmailAddress}>");
}Βήμα 5 - Εξαγωγή συστατικών
foreach (var attachment in message.Attachments)
{
Console.WriteLine($"Saving: {attachment.Filename}");
File.WriteAllBytes(attachment.Filename!, attachment.Data);
}Για τα ενσωματωμένα μηνύματα:
foreach (var attachment in message.Attachments)
{
if (attachment.IsEmbeddedMessage)
{
Console.WriteLine($"Embedded: {attachment.EmbeddedMessage!.Subject}");
}
}Πλήρης παράδειγμα
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);
}