Laden und Parsen von MSG‑Dateien

Dieser Abschnitt erklärt, wie Microsoft Outlook‑Nachrichtendateien (.msg) geladen und geparst werden. Die Aspose.Email‑API stellt eine MapiMessage Klasse zum Laden von MSG‑Dateien mit mehreren statischen Ladefunktionen für verschiedene Szenarien. Die folgenden Code‑Snippets demonstrieren, wie man MSG‑Dateien aus einer Datei oder aus einem Stream lädt.

Eine MSG‑Datei von der Festplatte laden

Das folgende Code‑Snippet zeigt, wie man MSG‑Dateien von der Festplatte lädt:

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)

Eine MSG‑Datei aus einem Stream laden

Das folgende Code‑Snippet zeigt, wie man MSG‑Dateien aus einem Stream lädt:

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)

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 MapiMessage.from_mail_message Methode. Wenn die EML‑Datei eingebettete Dateien enthält, verwenden Sie MapiConversionOptions.preserve_embedded_message_format um das Format eingebetteter Dateien beizubehalten. Das untenstehende Code‑Snippet zeigt, wie EML‑Dateien in MapiMessage geladen werden, wobei das Format der eingebetteten EML‑Dateien erhalten bleibt.

Das folgende Code‑Snippet demonstriert, wie man eine EML‑Datei in eine MSG‑Datei konvertiert und dabei das eingebettete Nachrichtenformat beibehält:

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)