Načítání, prohlížení a parsování MSG souboru
Toto téma vysvětluje, jak načíst soubor zprávy Microsoft Outlook (*.msg). The MapiMessage třída se používá k načtení souborů MSG a poskytuje několik statických metod načítání pro různé scénáře. Následující úryvek kódu ukazuje, jak načíst soubory MSG ze souboru nebo ze streamu.
Vyzkoušejte to!
Analyzujte e‑mailové soubory online zdarma Aspose.Email Parser aplikace.
Načítání souborů MSG
Následující úryvek kódu vám ukáže, jak načíst soubory 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)
Načítání ze streamu
Následující úryvek kódu ukazuje, jak načíst soubor ze streamu.
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)
Převod EML na MSG se zachováním formátu vložených EML
Soubory EML mohou být načteny do MapiMessage třída vytvořením instance MailMessage objekt a předání jej metodě MapiMessage.from_mail_message. Pokud soubor EML obsahuje vložené soubory EML, použijte MapiConversionOptions.PreserveEmbeddedMessageFormat k zachování formátu vložených souborů EML. Níže uvedený úryvek kódu ukazuje, jak načíst soubory EML do MapiMessage při zachování formátu vložených souborů EML.
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)