Manejo de adjuntos TNEF en mensajes de correo electrónico
Mensajes de correo que contienen adjuntos TNEF
Transport Neutral Encapsulation Format (TNEF) es un formato propietario de adjuntos de correo usado por Microsoft Outlook y Microsoft Exchange Server. La API Aspose.Email permite leer mensajes de correo que tienen adjuntos TNEF y modificar su contenido. El correo puede guardarse como un mensaje normal o en el mismo formato, conservando estos adjuntos. Este artículo muestra diferentes ejemplos de código para trabajar con mensajes que contienen adjuntos TNEF. También demuestra cómo crear archivos EML TNEF a partir de archivos MSG de Outlook.
Identificando adjuntos TNEF en un correo
El siguiente fragmento de código muestra cómo detectar si un correo contiene adjuntos TNEF:
from aspose.email import MailMessage
mail = MailMessage.load(data_dir + "message.eml")
is_tnef = mail.original_is_tnef
Leyendo correos mientras se conservan los adjuntos TNEF
El siguiente fragmento de código muestra cómo leer un mensaje y conservar los adjuntos 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)
Convirtiendo MSG a TNEF
Los MSG de Outlook a veces contienen información como tablas y estilos de texto que pueden corromperse al convertirlos a EML. Crear mensajes TNEF a partir de dichos archivos MSG permite conservar el formato e incluso enviar dichos mensajes a través de los clientes de correo manteniendo el formato. El convert_as_tnef la propiedad se usa para lograr esto. El siguiente fragmento de código muestra cómo crear un correo TNEF a partir de 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)
Creando correo TNEF
El siguiente código de ejemplo puede usarse para crear un correo en formato TNEF:
- Configura las opciones de archivo usando el MsgLoadOptions clase.
- Asegúrate de que los adjuntos TNEF en el correo se conserven al cargar el archivo configurando options.preserve_tnef_attachments a True.
- Utilice el MailMessage.load(eml_file_name, options) método para cargar el archivo de correo de entrada mientras se aplican las opciones configuradas previamente. Esto garantiza específicamente que el correo cargado conserve la información relacionada con TNEF (como adjuntos o formatos propietarios 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)
Detectando mensajes TNEF
El siguiente fragmento de código muestra cómo detectar si un mensaje es TNEF. El original_is_tnef propiedad del MailMessage se verifica el objeto para determinar si el correo estaba originalmente en TNEF (Transport Neutral Encapsulation Format). Si is_tnef evalúa a True, lo que significa que el correo contiene codificación TNEF, que típicamente ocurre en correos originados de Microsoft Outlook o Exchange.
from aspose.email import MailMessage
mail = MailMessage.load(data_dir + "message.eml")
is_tnef = mail.original_is_tnef