Laddning och parsning av MSG‑filer

Detta avsnitt förklarar hur man laddar och parsar Microsoft Outlook‑meddelandefiler (.msg). Aspose.Email‑API:n tillhandahåller en MapiMessage klass för att ladda MSG‑filer med flera statiska laddningsfunktioner för olika scenarier. Följande kodexempel demonstrerar hur man laddar MSG‑filer från fil eller från ström.

Ladda en MSG‑fil från disk

Följande kodexempel visar hur du laddar MSG‑filer från disk:

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)

Ladda en MSG‑fil från en ström

Följande kodexempel visar hur du laddar MSG‑filer från en ström:

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)

Konvertera EML till MSG och bevara inbäddat EML‑format

EML‑filer kan laddas in i MapiMessage klass genom att instansiera en MailMessage objekt och skickar det till MapiMessage.from_mail_message metod. Om EML‑filen innehåller inbäddade filer, använd MapiConversionOptions.preserve_embedded_message_format för att behålla formatet på inbäddade filer. Nedanstående kodexempel visar hur man laddar EML‑filer i MapiMessage samtidigt som formatet på de inbäddade EML‑filerna bevaras.

Följande kodexempel demonstrerar hur du konverterar en EML‑fil till en MSG‑fil samtidigt som det inbäddade meddelandeformatet bevaras:

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)