Chargement, affichage et analyse du fichier MSG
Ce sujet explique comment charger un fichier de message Microsoft Outlook (*.msg). Le MapiMessage classe est utilisée pour charger des fichiers MSG et fournit plusieurs fonctions de chargement statiques pour différents scénarios. Le code suivant montre comment charger des fichiers MSG depuis un fichier ou depuis un flux.
Essayez-le !
Analysez les fichiers email en ligne gratuitement avec le Application Aspose.Email Parser.
Chargement de fichiers MSG
Le fragment de code suivant montre comment charger des fichiers MSG.
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)
Chargement depuis un flux
Le code suivant montre comment charger un fichier depuis un flux.
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)
Conversion de EML en MSG en préservant le format des EML intégrés
Les fichiers EML peuvent être chargés dans MapiMessage classe en instanciant un MailMessage objet et le passer à la méthode MapiMessage.from_mail_message. Si le fichier EML contient des EML intégrés, utilisez MapiConversionOptions.PreserveEmbeddedMessageFormat pour conserver le format des EML imbriqués. Le code ci‑dessus montre comment charger des fichiers EML dans MapiMessage tout en préservant le format des EML incorporés.
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)