Obsługa załączników TNEF w wiadomościach e‑mail

Wiadomości e‑mail zawierające załączniki TNEF

Transport Neutral Encapsulation Format (TNEF) jest własnościowym formatem załączników e‑mail używanym przez Microsoft Outlook i Microsoft Exchange Server. API Aspose.Email umożliwia odczyt wiadomości e‑mail zawierających załączniki TNEF oraz modyfikację ich zawartości. Następnie e‑mail może zostać zapisany jako normalna wiadomość lub w tym samym formacie, zachowując te załączniki. Ten artykuł przedstawia różne przykłady kodu do pracy z wiadomościami zawierającymi załączniki TNEF. Pokazuje również, jak tworzyć pliki EML w formacie TNEF z plików MSG w Outlooku.

Identyfikowanie załączników TNEF w e‑mailu

Poniższy fragment kodu pokazuje, jak wykryć, czy e‑mail zawiera załączniki TNEF:

from aspose.email import MailMessage

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

Odczytywanie e‑maili przy zachowywaniu załączników TNEF

Poniższy fragment kodu pokazuje, jak odczytać wiadomość i zachować załączniki 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)

Konwersja MSG do TNEF

Pliki MSG z Outlooka czasami zawierają informacje, takie jak tabele i style tekstu, które mogą ulec uszkodzeniu przy konwersji do EML. Tworzenie wiadomości TNEF z takich plików MSG pozwala zachować formatowanie i nawet wysłać te wiadomości poprzez klientów poczty, zachowując formatowanie. convert_as_tnef właściwość jest używana w tym celu. Poniższy fragment kodu pokazuje, jak utworzyć e‑mail TNEF z pliku 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)

Tworzenie e‑maila TNEF

Poniższy przykładowy kod może być użyty do stworzenia e‑maila w formacie TNEF:

  1. Skonfiguruj opcje pliku przy użyciu MsgLoadOptions klasa.
  2. Upewnij się, że załączniki TNEF w e‑mailu są zachowane podczas wczytywania pliku, ustawiając options.preserve_tnef_attachments na True.
  3. Użyj MailMessage.load(eml_file_name, options) metoda ładuje plik wejściowy e‑mail, stosując wcześniej skonfigurowane opcje. Zapewnia to, że wczytana wiadomość zachowuje informacje związane z TNEF (takie jak załączniki lub własnościowe formaty 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)

Wykrywanie wiadomości TNEF

Poniższy fragment kodu pokazuje, jak wykryć, czy wiadomość jest w formacie TNEF. original_is_tnef właściwość MailMessage obiekt jest sprawdzany, aby określić, czy e‑mail pierwotnie był w formacie TNEF (Transport Neutral Encapsulation Format). Jeśli is_tnef zwraca True, co oznacza, że e‑mail zawiera kodowanie TNEF, które zwykle występuje w wiadomościach pochodzących z Microsoft Outlook lub Exchange.

from aspose.email import MailMessage

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