Hantera TNEF‑bilagor i e‑postmeddelanden

E‑postmeddelanden som innehåller TNEF‑bilagor

Transport Neutral Encapsulation Format (TNEF) är ett proprietärt e‑postbilageformat som används av Microsoft Outlook och Microsoft Exchange Server. Aspose.Email‑API:n gör det möjligt att läsa e‑postmeddelanden som har TNEF‑bilagor och modifiera deras innehåll. E‑posten kan därefter sparas som ett normalt meddelande eller i samma format, med dessa bilagor bevarade. Denna artikel visar olika kodexempel för att arbeta med meddelanden som innehåller TNEF‑bilagor. Den demonstrerar också hur man skapar TNEF‑EML‑filer från Outlook‑MSG‑filer.

Identifiera TNEF‑bilagor i ett e‑postmeddelande

Följande kodsnutt visar hur du upptäcker om ett e‑postmeddelande innehåller TNEF‑bilagor:

from aspose.email import MailMessage

mail = MailMessage.load(data_dir + "message.eml")
is_tnef = mail.original_is_tnef

Läsa e‑post samtidigt som TNEF‑bilagor bevaras

Följande kodsnutt visar hur du läser ett meddelande och bevarar TNEF‑bilagor.

from aspose.email import MailMessage, SaveOptions, EmlLoadOptions, MessageFormat, FileCompatibilityMode

options = EmlLoadOptions()
# This will Preserve the TNEF attachment as it is, file contains the TNEF attachment
options.preserve_tnef_attachments = True

eml = MailMessage.load(data_dir + "message.eml", options)
for attachment in eml.attachments:
    print(attachment.name)

Konvertera MSG till TNEF

Outlook‑MSG-filer innehåller ibland information såsom tabeller och textstilar som kan skadas vid konvertering till EML. Att skapa TNEF‑meddelanden från sådana MSG-filer gör att du behåller formateringen och kan till och med skicka sådana meddelanden via e‑postklienterna med formateringen intakt. Det convert_as_tnef egenskap används för att uppnå detta. Följande kodsnutt visar hur du skapar TNEF‑e‑post från MSG.

from aspose.email.mapi import MapiMessage, MailConversionOptions, OutlookMessageFormat

mapi_msg = MapiMessage.from_file(data_dir + "message.msg")

mail_conversion_options = MailConversionOptions()
mail_conversion_options.convert_as_tnef = True

message = mapi_msg.to_mail_message(mail_conversion_options)

Skapa TNEF‑e‑post

Följande exempel kod kan användas för att skapa ett e‑postmeddelande i TNEF‑format:

  1. Konfigurera filalternativ med hjälp av MsgLoadOptions klass.
  2. Säkerställ att TNEF‑bilagor i e‑posten bevaras när filen laddas genom att sätta options.preserve_tnef_attachments till True.
  3. Använd MailMessage.load(eml_file_name, options) metod för att ladda den inkommande e‑postfilen samtidigt som de alternativ som konfigurerats tidigare tillämpas. Detta säkerställer specifikt att den inlästa e‑posten behåller TNEF‑relaterad information (såsom bilagor eller proprietära Microsoft Outlook‑format).
from aspose.email import MailMessage, SaveOptions, MsgLoadOptions, MessageFormat, FileCompatibilityMode

options = MsgLoadOptions()
# The PreserveTnefAttachments option with MessageFormat.Msg will create the TNEF eml.
options.preserve_tnef_attachments = True

eml = MailMessage.load(eml_file_name, options)

Detektera TNEF‑meddelanden

Följande kodsnutt visar hur du upptäcker om ett meddelande är TNEF. Det original_is_tnef egenskap hos MailMessage objektet kontrolleras för att avgöra om e‑posten ursprungligen var i TNEF (Transport Neutral Encapsulation Format). Om is_tnef utvärderas till True, vilket betyder att e‑posten innehåller TNEF‑kodning, vilket vanligtvis förekommer i e‑post som kommer från Microsoft Outlook eller Exchange.

from aspose.email import MailMessage

mail = MailMessage.load(data_dir + "message.eml")
is_tnef = mail.original_is_tnef