Carregando e analisando arquivos MSG

Esta seção explica como carregar e analisar arquivos de mensagem do Microsoft Outlook (.msg). A API Aspose.Email fornece um MapiMessage classe para carregar arquivos MSG com várias funções estáticas de carregamento para diferentes cenários. Os trechos de código a seguir demonstram como carregar arquivos MSG de um arquivo ou de um fluxo.

Carregar um arquivo MSG a partir do disco

O trecho de código a seguir mostra como carregar arquivos MSG a partir do disco:

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)

Carregar um arquivo MSG a partir de um fluxo

O trecho de código a seguir mostra como carregar arquivos MSG a partir de um fluxo:

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)

Convertendo EML para MSG Preservando o Formato EML Incorporado

Arquivos EML podem ser carregados em MapiMessage classe instanciando um MailMessage objeto e passá‑lo para MapiMessage.from_mail_message método. Se o arquivo EML contiver arquivos incorporados, use MapiConversionOptions.preserve_embedded_message_format para manter o formato dos arquivos incorporados. O trecho de código abaixo mostra como carregar arquivos EML em MapiMessage preservando o formato dos arquivos EML incorporados.

O trecho de código a seguir demonstra como converter um arquivo EML para um arquivo MSG preservando o formato da mensagem incorporada:

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)