Chargement et analyse des fichiers MSG

Cette section explique comment charger et analyser les fichiers de messages Microsoft Outlook (.msg). L’API Aspose.Email fournit un MapiMessage classe pour charger des fichiers MSG avec plusieurs fonctions de chargement statiques pour différents scénarios. Les extraits de code suivants montrent comment charger des fichiers MSG depuis un fichier ou depuis un flux.

Charger un fichier MSG depuis le disque

L’extrait de code suivant montre comment charger des fichiers MSG depuis le disque :

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)

Charger un fichier MSG depuis un flux

L’extrait de code suivant montre comment charger des fichiers MSG depuis un flux :

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)

Conversion d’EML en MSG en préservant le format EML intégré

Les fichiers EML peuvent être chargés dans MapiMessage classe en instanciant un MailMessage objet et le passer à MapiMessage.from_mail_message méthode. Si le fichier EML contient des fichiers intégrés, utilisez MapiConversionOptions.preserve_embedded_message_format pour conserver le format des fichiers intégrés. L’extrait de code ci‑dessous montre comment charger des fichiers EML dans MapiMessage tout en préservant le format des fichiers EML intégrés.

L’extrait de code suivant montre comment convertir un fichier EML en fichier MSG tout en préservant le format du message intégré :

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)