Xử lý Tệp Đính Kèm TNEF trong Tin Nhắn Email

TNEF (Transport Neutral Encapsulation Format) là một định dạng độc quyền được Microsoft Outlook sử dụng để đóng gói nội dung phong phú trong tệp đính kèm - thường được lưu dưới dạng winmail.dat. 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 tệp đính kèm. Email sau đó có thể được lưu dưới dạng email thông thường hoặc cùng định dạng, giữ nguyên các tệp đính kèm TNEF. 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. Bài viết cũng chỉ cách tạo tệp EML TNEF từ các tệp MSG của Outlook.

Đọc Tin Nhắn có 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 giữ nguyên các tệp đính kèm TNEF.

Đọc Tin Nhắn không có 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 mà không giữ nguyên các tệp đính kèm TNEF.

Tải và Lưu Tệp Đính Kèm TNEF

Với Aspose.Email cho .NET, bạn có thể tải các tệp đính kèm TNEF trực tiếp vào một MapiAttachment đối tượng sử dụng đường dẫn tệp hoặc luồng, và sau đó lưu đối tượng dưới định dạng TNEF. Điều này cho phép tạo các tệp winmail.dat hoặc bảo tồn định dạng đặc thù của Outlook trong quy trình công việc email.

API cung cấp các thành viên sau trong MapiAttachment lớp:

Tải Tệp Đính Kèm TNEF

Lưu Tệp Đính Kèm TNEF

Mẫu mã dưới đây minh họa cách trích xuất tệp đính kèm winmail.dat từ một tin nhắn email, giữ nguyên nó và thêm lại như một tệp đính kèm vào tin nhắn:

// message.eml contains a winmail.dat attachment, but by default, the attachment is not preserved.
var msg = MapiMessage.Load("message.eml");

var ms = new MemoryStream();
msg.Attachments[0].SaveToTnef("winmail.dat");

ms.Position = 0;
var fromtnefAttachment = MapiAttachment.LoadFromTnef(ms);
msg.Attachments.Add(fromtnefAttachment);

fromtnefAttachment = MapiAttachment.LoadFromTnef("winmail.dat");
msg.Attachments.Add(fromtnefAttachment);

Cập Nhật Tài Nguyên trong Tệp Đính Kèm TNEF

Đoạn mã dưới đây cho bạn thấy cách cập nhật các tài nguyên trong một tệp đính kèm TNEF và giữ nguyên định dạng TNEF.

Thêm Tệp Đính Kèm vào Tin Nhắn TNEF

Đoạn mã dưới đây cho bạn thấy cách thêm các tệp đính kèm mới vào tin nhắn chính chứa TNEF.

Tạo TNEF EML từ MSG

Các tệp MSG của Outlook đôi khi chứa thông tin như bảng và kiểu văn bản có thể bị thay đổi nếu chuyển đổi sang EML. Tạo tin nhắn TNEF từ các tệp MSG như vậy cho phép giữ nguyên định dạng và thậm chí gửi các tin nhắn này qua các client email mà vẫn giữ định dạng. The MailConversionOptions.ConvertAsTnef thuộc tính được sử dụng để đạt được điều này. Đoạn mã dưới đây cho bạn thấy cách tạo EML TNEF từ MSG.

Để tạo TNEF, có thể sử dụng đoạn mã mẫu sau.

Xác Định Tin Nhắn Định Dạng TNEF

Đoạn mã dưới đây cho bạn thấy cách phát hiện một tin nhắn có định dạng TNEF hay không.

Xác Định Tệp Đính Kèm Định Dạng TNEF

Cái Attachment.IsTnef thuộc tính cho phép phát hiện liệu tệp đính kèm tin nhắn có định dạng TNEF hay không.

var eml = MailMessage.Load(fileName);

foreach (attachment in eml.Attachments)
{
    Console.WriteLine($"Is Attachment TNEF?: {attachment.IsTnef}");
}