Xử lý tệp đính kèm TNEF trong tin nhắn email

Tin nhắn email chứa tệp đính kèm TNEF

Transport Neutral Encapsulation Format (TNEF) là định dạng tệp đính kèm email độc quyền được Microsoft Outlook và Microsoft Exchange Server sử dụng. API Aspose.Email cho phép bạn đọc các tin nhắn email có tệp đính kèm TNEF và chỉnh sửa nội dung của chúng. Email sau đó có thể được lưu dưới dạng tin nhắn bình thường hoặc cùng định dạng, giữ lại các tệp đính kèm này. Bài viết này trình bày các mẫu mã khác nhau để làm việc với các tin nhắn chứa tệp đính kèm TNEF. Nó cũng minh họa cách tạo tệp EML TNEF từ các tệp MSG của Outlook.

Xác định tệp đính kèm TNEF trong email

Đoạn mã dưới đây cho bạn thấy cách phát hiện xem một email có chứa tệp đính kèm TNEF hay không:

from aspose.email import MailMessage

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

Đọc email trong khi giữ lại tệp đính kèm TNEF

Đoạn mã dưới đây cho bạn thấy cách đọc một tin nhắn và giữ lại các tệp đính kèm 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)

Chuyển đổi MSG sang TNEF

Các tệp Outlook MSG đôi khi chứa thông tin như bảng và kiểu văn bản có thể bị hỏng khi chuyển đổi sang EML. Tạo tin nhắn TNEF từ các tệp MSG như vậy cho phép bạn giữ nguyên định dạng và thậm chí gửi các tin nhắn này qua các khách hàng email mà vẫn giữ định dạng. The convert_as_tnef thuộc tính được sử dụng để thực hiện điều này. Đoạn mã dưới đây cho bạn thấy cách tạo email TNEF từ 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)

Tạo email TNEF

Mã mẫu dưới đây có thể được sử dụng để tạo một email ở định dạng TNEF:

  1. Cấu hình các tùy chọn tệp bằng cách sử dụng MsgLoadOptions lớp.
  2. Đảm bảo rằng các tệp đính kèm TNEF trong email được giữ lại khi tải tệp bằng cách đặt options.preserve_tnef_attachments to True.
  3. Sử dụng MailMessage.load(eml_file_name, options) phương thức tải tệp email đầu vào trong khi áp dụng các tùy chọn đã cấu hình trước. Điều này đặc biệt đảm bảo rằng email đã tải giữ lại thông tin liên quan đến TNEF (như đính kèm hoặc định dạng Microsoft Outlook độc quyền).
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)

Phát hiện tin nhắn TNEF

Đoạn mã dưới đây cho bạn thấy cách phát hiện xem một tin nhắn có phải là TNEF hay không. The original_is_tnef thuộc tính của MailMessage đối tượng được kiểm tra để xác định xem email có nguyên gốc ở định dạng TNEF (Transport Neutral Encapsulation Format) không. Nếu is_tnef đánh giá thành True, nghĩa là email chứa mã hóa TNEF, thường xuất hiện trong các email đến từ Microsoft Outlook hoặc Exchange.

from aspose.email import MailMessage

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