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

TNEF (Transport Neutral Encapsulation Format) jest własnościowym formatem używanym przez Microsoft Outlook do enkapsulacji bogatej zawartości w załącznikach — najczęściej zapisywanym jako winmail.dat. API Aspose.Email umożliwia odczyt wiadomości e‑mail, które mają załączniki TNEF i modyfikowanie zawartości załącznika. E‑mail może następnie zostać zapisany jako zwykły e‑mail lub w tym samym formacie, zachowując załączniki TNEF. Ten artykuł pokazuje różne przykłady kodu pracy z wiadomościami zawierającymi załączniki TNEF. Artykuł także pokazuje, jak tworzyć pliki TNEF EML z plików Outlook MSG.

Odczytaj wiadomość z załącznikiem TNEF

Poniższy fragment kodu pokazuje, jak odczytać wiadomość zachowując załączniki TNEF.

Odczytaj wiadomość bez załącznika TNEF

Poniższy fragment kodu pokazuje, jak odczytać wiadomość bez zachowywania załączników TNEF.

Ładowanie i zapisywanie załączników TNEF

Za pomocą Aspose.Email dla .NET można wczytać załączniki TNEF bezpośrednio do MapiAttachment obiekt przy użyciu ścieżki pliku lub strumienia, a następnie zapisuje obiekt w formacie TNEF. Umożliwia to tworzenie plików winmail.dat lub zachowanie formatowania specyficznego dla Outlook w przepływach pracy e‑mail.

API udostępnia następujące elementy w MapiAttachment klasa:

Załaduj załączniki TNEF

Zapisz załączniki TNEF

Poniższy przykład kodu demonstruje, jak wyodrębnić załącznik winmail.dat z wiadomości e‑mail, zachować go i ponownie dodać jako załącznik do wiadomości:

// 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);

Zaktualizuj zasoby w załączniku TNEF

Poniższy fragment kodu pokazuje, jak zaktualizować zasoby w załączniku TNEF i zachować format TNEF.

Dodaj załącznik do wiadomości TNEF

Poniższy fragment kodu pokazuje, jak dodać nowe załączniki do głównej wiadomości zawierającej TNEF.

Tworzenie TNEF EML z MSG

Pliki Outlook MSG czasami zawierają informacje, takie jak tabele i style tekstu, które mogą zostać zaburzone przy konwersji do EML. Tworzenie wiadomości TNEF z takich plików MSG pozwala zachować formatowanie i nawet wysłać takie wiadomości za pośrednictwem klientów poczty, zachowując formatowanie. The MailConversionOptions.ConvertAsTnef właściwość jest używana do osiągnięcia tego. Poniższy fragment kodu pokazuje, jak utworzyć TNEF EML z MSG.

Do tworzenia TNEF można użyć poniższego przykładowego kodu.

Zidentyfikuj wiadomości w formacie TNEF

Poniższy fragment kodu pokazuje, jak wykryć, czy wiadomość jest TNEF.

Zidentyfikuj załączniki w formacie TNEF

Ten Attachment.IsTnef właściwość umożliwia wykrycie, czy załącznik wiadomości jest sformatowany jako TNEF.

var eml = MailMessage.Load(fileName);

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