كيفية قراءة ملفات MSG في C#

كيفية قراءة ملفات 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);

الخطوة الثالثة - قراءة الحقول الرسائل

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);
}
 العربية