Laden, bekijken en parseren van MSG-bestand

Dit onderwerp legt uit hoe een Microsoft Outlook‑berichtbestand (*.msg) te laden. De MapiMessage klasse wordt gebruikt om MSG‑bestanden te laden en biedt verschillende statische laadfuncties voor verschillende scenario’s. Het volgende codefragment laat zien hoe u MSG‑bestanden laadt vanuit een bestand of vanuit een stream.

MSG-bestanden laden

De volgende codefragment laat zien hoe MSG-bestanden te laden.

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)

Laden vanuit stream

Het volgende codefragment laat zien hoe u een bestand uit een stream laadt.

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 naar MSG converteren met behoud van ingebed EML‑formaat

EML-bestanden kunnen worden geladen in MapiMessage klasse door een MailMessage object en dit doorgeven aan de MapiMessage.from_mail_message-methode. Als het EML‑bestand ingesloten EML‑bestanden bevat, gebruik dan MapiConversionOptions.preserve_embedded_message_format om het formaat van ingesloten EML‑bestanden te behouden. Het onderstaande codefragment laat zien hoe EML‑bestanden in MapiMessage worden geladen terwijl het formaat van ingesloten EML‑bestanden behouden blijft.

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)