Verarbeitung von TNEF‑Anhängen in E‑Mail‑Nachrichten

E‑Mail‑Nachrichten mit TNEF‑Anhängen

Transport Neutral Encapsulation Format (TNEF) ist ein proprietäres E‑Mail‑Anhangsformat, das von Microsoft Outlook und Microsoft Exchange Server verwendet wird. Die Aspose.Email‑API ermöglicht das Lesen von E‑Mail‑Nachrichten, die TNEF‑Anhänge enthalten, und das Ändern ihres Inhalts. Die E‑Mail kann dann als normale Nachricht oder im selben Format gespeichert werden, wobei diese Anhänge erhalten bleiben. Dieser Artikel zeigt verschiedene Codebeispiele für die Arbeit mit Nachrichten, die TNEF‑Anhänge enthalten. Er demonstriert außerdem, wie TNEF‑EML‑Dateien aus Outlook‑MSG‑Dateien erstellt werden.

Identifizieren von TNEF‑Anhängen in einer E‑Mail

Das folgende Code‑Snippet zeigt, wie Sie erkennen, ob eine E‑Mail TNEF‑Anhänge enthält:

from aspose.email import MailMessage

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

Lesen von E‑Mails unter Beibehaltung von TNEF‑Anhängen

Das folgende Code‑Snippet zeigt, wie Sie eine Nachricht lesen und TNEF‑Anhänge beibehalten.

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)

Konvertieren von MSG nach TNEF

Outlook‑MSG‑Dateien enthalten manchmal Informationen wie Tabellen und Textstile, die bei einer Konvertierung nach EML beschädigt werden können. Das Erstellen von TNEF‑Nachrichten aus solchen MSG‑Dateien ermöglicht das Beibehalten der Formatierung und sogar das Versenden solcher Nachrichten über E‑Mail‑Clients, wobei die Formatierung erhalten bleibt. Die convert_as_tnef Eigenschaft wird dafür verwendet. Das folgende Code‑Snippet zeigt, wie Sie aus einer MSG‑Datei eine TNEF‑E‑Mail erstellen.

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)

Erstellen einer TNEF‑E‑Mail

Der folgende Beispielcode kann verwendet werden, um eine E‑Mail im TNEF‑Format zu erstellen:

  1. Konfigurieren Sie Dateioptionen mit Hilfe der MsgLoadOptions Klasse.
  2. Stellen Sie sicher, dass TNEF‑Anhänge in der E‑Mail beim Laden der Datei erhalten bleiben, indem Sie setzen options.preserve_tnef_attachments auf True.
  3. Verwenden Sie die MailMessage.load(eml_file_name, options) Methode zum Laden der Eingabe‑E‑Mail‑Datei unter Anwendung der zuvor konfigurierten Optionen. Dies stellt sicher, dass die geladene E‑Mail TNEF‑bezogene Informationen (wie Anhänge oder proprietäre Microsoft‑Outlook‑Formate) beibehält.
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)

Erkennen von TNEF‑Nachrichten

Das folgende Code‑Snippet zeigt, wie Sie erkennen, ob eine Nachricht TNEF ist. Die original_is_tnef Eigenschaft des MailMessage Objekt wird geprüft, um zu ermitteln, ob die E‑Mail ursprünglich im TNEF‑Format (Transport Neutral Encapsulation Format) vorlag. Wenn is_tnef ergibt True, bedeutet dies, dass die E‑Mail TNEF‑Kodierung enthält, was typischerweise bei E‑Mails aus Microsoft Outlook oder Exchange vorkommt.

from aspose.email import MailMessage

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