Laden, Anzeigen und Parsen von MSG‑Dateien

Dieses Thema erklärt, wie eine Microsoft Outlook‑Nachrichtendatei (*.msg) geladen wird. Die MapiMessage Klasse wird zum Laden von MSG‑Dateien verwendet und bietet mehrere statische Lademethoden für verschiedene Szenarien. Das folgende Code‑Snippet zeigt, wie MSG‑Dateien aus einer Datei oder aus einem Stream geladen werden.

Laden von MSG‑Dateien

Das folgende Code‑Snippet zeigt, wie man MSG‑Dateien lädt.

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)

Laden aus einem Stream

Das folgende Code‑Snippet zeigt, wie Sie eine Datei aus einem Stream laden.

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)

Konvertieren von EML zu MSG unter Beibehaltung des eingebetteten EML‑Formats

EML‑Dateien können geladen werden in MapiMessage Klasse, indem man ein MailMessage Objekt und übergeben es an die Methode MapiMessage.from_mail_message. Enthält die EML‑Datei eingebettete EML‑Dateien, verwenden Sie MapiConversionOptions.PreserveEmbeddedMessageFormat, um das Format der eingebetteten EML‑Dateien beizubehalten. Das untenstehende Code‑Snippet zeigt, wie EML‑Dateien in MapiMessage geladen werden, wobei das Format der eingebetteten EML‑Dateien erhalten bleibt.

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)