Zpracování TNEF příloh v e‑mailových zprávách
TNEF (Transport Neutral Encapsulation Format) je proprietární formát používaný Microsoft Outlook k zapouzdření bohatého obsahu v přílohách – nejčastěji uložený jako winmail.dat. API Aspose.Email vám umožňuje číst e‑mailové zprávy s TNEF přílohami a upravovat obsah přílohy. E‑mail pak může být uložen jako běžný e‑mail nebo ve stejném formátu, přičemž TNEF přílohy jsou zachovány. Tento článek ukazuje různé ukázky kódu pro práci se zprávami obsahujícími TNEF přílohy. Článek také ukazuje, jak vytvořit TNEF EML soubory z Outlook MSG souborů.
Číst zprávu s TNEF přílohou
Následující úryvek kódu ukazuje, jak číst zprávu se zachováním TNEF příloh.
Číst zprávu bez TNEF přílohy
Následující úryvek kódu ukazuje, jak číst zprávu bez zachování TNEF příloh.
Načíst a uložit TNEF přílohy
S Aspose.Email pro .NET můžete načíst TNEF přílohy přímo do MapiAttachment objekt pomocí cesty k souboru nebo streamu a následně uloží objekt do formátu TNEF. To umožňuje vytvářet soubory winmail.dat nebo zachovávat specifické formátování Outlooku v e‑mailových pracovních postupech.
API poskytuje následující členy v MapiAttachment třída:
Načíst TNEF přílohy
-
static MapiAttachment LoadFromTnef(string fileName) - Načte TNEF přílohu ze souboru .dat.
-
static MapiAttachment LoadFromTnef(Stream stream) - Načte TNEF přílohu ze streamu (např. MemoryStream nebo souborový stream).
Uložit TNEF přílohy
-
void SaveToTnef(string filename) - Uloží MapiAttachment do souboru TNEF.
-
void SaveToTnef(Stream stream) - Uloží MapiAttachment do proudu ve formátu TNEF.
Níže uvedený ukázkový kód demonstruje, jak extrahovat winmail.dat přílohu z e‑mailové zprávy, zachovat ji a znovu přidat jako přílohu ke zprávě:
// 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);
Aktualizovat zdroje v TNEF příloze
Následující úryvek kódu ukazuje, jak aktualizovat zdroje v TNEF příloze a zachovat TNEF formát.
Přidat přílohu do TNEF zprávy
Následující úryvek kódu ukazuje, jak přidat nové přílohy do hlavní zprávy obsahující TNEF.
Vytvoření TNEF EML ze souboru MSG
Outlook MSG soubory někdy obsahují informace jako tabulky a stylování textu, které mohou být při konverzi do EML narušeny. Vytváření TNEF zpráv z takových MSG souborů umožňuje zachovat formátování a dokonce odeslat tyto zprávy přes e‑mailové klienty s zachovaným formátováním. Toto MailConversionOptions.ConvertAsTnef vlastnost se používá k dosažení tohoto. Následující úryvek kódu ukazuje, jak vytvořit TNEF EML ze souboru MSG.
Pro vytvoření TNEF lze použít následující ukázkový kód.
Identifikovat zprávy ve formátu TNEF
Následující úryvek kódu ukazuje, jak zjistit, zda je zpráva TNEF.
Identifikovat TNEF formátované přílohy
The Attachment.IsTnef vlastnost umožňuje zjistit, zda je příloha zprávy ve formátu TNEF.
var eml = MailMessage.Load(fileName);
foreach (attachment in eml.Attachments)
{
Console.WriteLine($"Is Attachment TNEF?: {attachment.IsTnef}");
}