Зареждане и анализиране на MSG файлове

Този раздел обяснява как да заредите и анализирате Microsoft Outlook съобщения (.msg). Aspose.Email API предоставя MapiMessage клас за зареждане на MSG файлове с няколко статични функции за различни сценарии. Следните фрагменти от код демонстрират как да заредите MSG файлове от файл или от поток.

Заредете 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)