Обработка вложений TNEF в сообщениях электронной почты

Сообщения электронной почты с вложениями TNEF

Transport Neutral Encapsulation Format (TNEF) — проприетарный формат вложений электронной почты, используемый Microsoft Outlook и Microsoft Exchange Server. API Aspose.Email позволяет читать сообщения электронной почты с вложениями TNEF и изменять их содержимое. Затем письмо можно сохранить как обычное сообщение или в том же формате, сохранив вложения. В этой статье показаны различные примеры кода для работы с сообщениями, содержащими вложения TNEF. Также демонстрируется, как создавать файлы TNEF EML из файлов Outlook MSG.

Идентификация вложений TNEF в письме

Следующий фрагмент кода показывает, как определить, содержит ли письмо вложения TNEF:

from aspose.email import MailMessage

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

Чтение писем с сохранением вложений TNEF

Следующий фрагмент кода показывает, как прочитать сообщение и сохранить вложения 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)

Конвертация MSG в TNEF

MSG‑файлы Outlook иногда содержат информацию, такую как таблицы и стили текста, которые могут быть повреждены при конвертации в EML. Создание сообщений TNEF из таких MSG‑файлов позволяет сохранить форматирование и даже отправить такие сообщения через почтовые клиенты, сохраняя форматирование. The convert_as_tnef свойство используется для этого. Следующий фрагмент кода показывает, как создать письмо TNEF из 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)

Создание письма TNEF

Следующий пример кода можно использовать для создания письма в формате TNEF:

  1. Настройте параметры файла, используя MsgLoadOptions класс.
  2. Убедитесь, что вложения TNEF в письме сохраняются при загрузке файла, установив options.preserve_tnef_attachments в True.
  3. Используйте MailMessage.load(eml_file_name, options) метод загрузки входного файла письма с применением ранее настроенных параметров. Это гарантирует, что загруженное письмо сохраняет информацию, связанную с TNEF (например, вложения или проприетарные форматы 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)

Обнаружение сообщений TNEF

Следующий фрагмент кода показывает, как определить, является ли сообщение TNEF. The original_is_tnef свойство MailMessage объект проверяется, чтобы определить, было ли письмо изначально в формате TNEF (Transport Neutral Encapsulation Format). Если is_tnef равно True, это означает, что письмо содержит кодировку TNEF, что обычно происходит в письмах, исходящих из Microsoft Outlook или Exchange.

from aspose.email import MailMessage

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