Ładowanie i parsowanie plików MSG

Ta sekcja wyjaśnia, jak ładować i parsować pliki wiadomości Microsoft Outlook (.msg). API Aspose.Email zapewnia MapiMessage klasa do ładowania plików MSG z kilkoma statycznymi funkcjami ładowania dla różnych scenariuszy. Poniższe fragmenty kodu demonstrują, jak ładować pliki MSG z pliku lub ze strumienia.

Załaduj plik MSG z dysku

Poniższy fragment kodu pokazuje, jak załadować pliki MSG z dysku:

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)

Załaduj plik MSG ze strumienia

Poniższy fragment kodu pokazuje, jak załadować pliki MSG ze strumienia:

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)

Konwertowanie EML do MSG zachowując format osadzonych plików EML

Pliki EML mogą być wczytane do MapiMessage klasę, tworząc MailMessage obiekt i przekazując go do MapiMessage.from_mail_message metodę. Jeśli plik EML zawiera pliki osadzone, użyj MapiConversionOptions.preserve_embedded_message_format aby zachować format plików osadzonych. Poniższy fragment kodu pokazuje, jak załadować pliki EML do MapiMessage, zachowując format osadzonych plików EML.

Poniższy fragment kodu demonstruje, jak skonwertować plik EML do pliku MSG, zachowując format wiadomości osadzonej:

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)