Загрузка и разбор файлов MSG
В этом разделе объясняется, как загружать и разбирать файлы сообщений Microsoft Outlook (.msg). API Aspose.Email предоставляет MapiMessage класс для загрузки файлов MSG с несколькими статическими функциями загрузки для разных сценариев. Следующие фрагменты кода демонстрируют, как загружать файлы MSG из файла или из потока.
Попробуйте!
Разбирайте файлы электронной почты онлайн бесплатно Aspose.Email Parser App.
Загрузка файла MSG с диска
Следующий фрагмент кода показывает, как загрузить файлы MSG с диска:
from aspose.email.mapi import MapiMessage
# Create an instance of MapiMessage from file
msg = MapiMessage.load("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)
Загрузка файла MSG из потока
Следующий фрагмент кода показывает, как загрузить файлы MSG из потока:
from aspose.email.mapi import MapiMessage
import io
# Read the file into a byte array
file_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.load(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 содержит вложенные файлы, используйте MapiConversionOptions.preserve_embedded_message_format чтобы сохранить формат вложенных файлов. Приведённый ниже фрагмент кода показывает, как загрузить файлы EML в MapiMessage, сохраняя формат вложенных файлов EML.
Следующий фрагмент кода демонстрирует, как преобразовать файл EML в файл MSG, сохраняя формат вложенного сообщения:
from aspose.email import MailMessage, EmlLoadOptions
from aspose.email.mapi import MapiMessage, MapiConversionOptions, OutlookMessageFormat
eml_file = "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)