تحميل وعرض وتحليل ملف MSG

يوضح هذا الموضوع كيفية تحميل ملف رسالة Microsoft Outlook (*.msg). الـ MapiMessage تُستخدم الفئة لتحميل ملفات MSG، وتوفر عدة دوال تحميل ثابتة لسيناريوهات مختلفة. يوضح مقطع الشيفرة التالي كيفية تحميل ملفات MSG من ملف أو من تدفق.

تحميل ملفات MSG

يوضح مقطع الشفرة التالي كيفية تحميل ملفات MSG.

from aspose.email.mapi import MapiMessage

# Create an instance of MapiMessage from file
msg = MapiMessage.from_file("message.msg")

# Get subject
print("Subject: " + msg.subject)

# Get from address
print("From: " + msg.sender_email_address)

# Get body
print("Body: " + msg.body)

# Get recipients information
recipients = ", ".join([r.email_address for r in msg.recipients])
print("Recipients: " + recipients)

# Get attachments
for att in msg.attachments:
    print(att.file_name)
    print(att.display_name)

التحميل من تدفق

يظهر مقطع الشيفرة التالي كيفية تحميل ملف من تدفق.

from aspose.email.mapi import MapiMessage
import io

# Read the file into a byte array
file_path = dir_path + "message.msg"
with open(file_path, "rb") as file:
    bytes_data = file.read()

# Create a memory stream from the byte array
stream = io.BytesIO(bytes_data)
stream.seek(0)

# Create an instance of MapiMessage from the stream
msg = MapiMessage.from_stream(stream)

# Get subject
print("Subject: " + msg.subject)

# Get from address
print("From: " + msg.sender_email_address)

# Get body
print("Body: " + msg.body)

تحويل EML إلى MSG مع الحفاظ على تنسيق EML المضمن

يمكن تحميل ملفات EML إلى MapiMessage فئة عن طريق إنشاء كائن من MailMessage الكائن وتمريره إلى طريقة MapiMessage.from_mail_message. إذا كان ملف EML يحتوي على ملفات EML مدمجة، استخدم MapiConversionOptions.PreserveEmbeddedMessageFormat للاحتفاظ بتنسيق الملفات المدمجة. يوضح مقطع الشيفرة أدناه كيفية تحميل ملفات EML إلى MapiMessage مع الحفاظ على تنسيق الملفات المدمجة.

from aspose.email import MailMessage, EmlLoadOptions
from aspose.email.mapi import MapiMessage, MapiConversionOptions, OutlookMessageFormat

eml_file = dir_path + "message.eml"

# Load the EML file
eml_options = EmlLoadOptions()
eml = MailMessage.load(eml_file, eml_options)

# Create MapiConversionOptions
conversion_options = MapiConversionOptions()
conversion_options.format = OutlookMessageFormat.UNICODE

# Preserve Embedded Message Format
conversion_options.preserve_embedded_message_format = True

# Convert EML to MSG with options
msg = MapiMessage.from_mail_message(eml, conversion_options)