Gestion des pièces jointes TNEF dans les messages e‑mail

Messages e‑mail contenant des pièces jointes TNEF

Le Transport Neutral Encapsulation Format (TNEF) est un format propriétaire de pièces jointes utilisé par Microsoft Outlook et Microsoft Exchange Server. L’API Aspose.Email vous permet de lire les messages e‑mail contenant des pièces jointes TNEF et de modifier leur contenu. L’e‑mail peut ensuite être enregistré comme un message normal ou au même format, en préservant ces pièces jointes. Cet article montre différents exemples de code pour travailler avec des messages contenant des pièces jointes TNEF. Il démontre également comment créer des fichiers EML TNEF à partir de fichiers MSG Outlook.

Identification des pièces jointes TNEF dans un e‑mail

L’extrait de code suivant montre comment détecter si un e‑mail contient des pièces jointes TNEF :

from aspose.email import MailMessage

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

Lecture des e‑mails en préservant les pièces jointes TNEF

L’extrait de code suivant montre comment lire un message et conserver les pièces jointes TNEF.

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)

Conversion de MSG en TNEF

Les MSG Outlook contiennent parfois des informations telles que des tableaux et des styles de texte qui peuvent être corrompus lors de la conversion en EML. Créer des messages TNEF à partir de ces fichiers MSG vous permet de conserver le formatage et même d’envoyer ces messages via les clients de messagerie en conservant le formatage. Le convert_as_tnef la propriété est utilisée pour y parvenir. L’extrait de code suivant montre comment créer un e‑mail TNEF à partir d’un 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)

Création d’un e‑mail TNEF

Le code d’exemple suivant peut être utilisé pour créer un e‑mail au format TNEF :

  1. Configurez les options de fichier en utilisant le MsgLoadOptions classe.
  2. Assurez‑vous que les pièces jointes TNEF dans l’e‑mail sont préservées lors du chargement du fichier en définissant options.preserve_tnef_attachments à True.
  3. Utilisez le MailMessage.load(eml_file_name, options) Méthode pour charger le fichier e‑mail d’entrée tout en appliquant les options configurées précédemment. Cela garantit spécifiquement que l’e‑mail chargé conserve les informations liées à TNEF (telles que les pièces jointes ou les formats propriétaires de Microsoft Outlook).
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)

Détection des messages TNEF

L’extrait de code suivant montre comment détecter si un message est TNEF. Le original_is_tnef propriété du MailMessage l’objet est vérifié pour déterminer si l’e‑mail était à l’origine au format TNEF (Transport Neutral Encapsulation Format). Si is_tnef évalue à True, cela signifie que l’e‑mail contient un encodage TNEF, qui apparaît généralement dans les e‑mails provenant de Microsoft Outlook ou Exchange.

from aspose.email import MailMessage

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