Hantera TNEF‑bilagor i e‑mailmeddelanden

TNEF (Transport Neutral Encapsulation Format) är ett proprietärt format som används av Microsoft Outlook för att kapsla in rikt innehåll i bilagor – oftast lagrat som winmail.dat. Aspose.Email‑API:n låter dig läsa e‑mailmeddelanden som har TNEF‑bilagor och ändra innehållet i bilagan. E‑mailet kan sedan sparas som ett vanligt e‑mail eller i samma format, med bevarade TNEF‑bilagor. Denna artikel visar olika kodexempel för att arbeta med meddelanden som innehåller TNEF‑bilagor. Artikeln visar också hur man skapar TNEF‑EML‑filer från Outlook‑MSG‑filer.

Läs ett meddelande med TNEF‑bilaga

Följande kodsnutt visar hur du läser ett meddelande och bevarar TNEF‑bilagor.

Läs ett meddelande utan TNEF‑bilaga

Följande kodsnutt visar hur du läser ett meddelande utan att bevara TNEF‑bilagor.

Läs in och spara TNEF‑bilagor

Med Aspose.Email för .NET kan du ladda TNEF‑bilagor direkt in i en MapiAttachment objekt med en filsökväg eller ström, och sedan spara objektet i TNEF-format. Detta möjliggör skapandet av winmail.dat-filer eller bevarande av Outlook‑specifik formatering i e‑mail‑arbetsflöden.

API:n tillhandahåller följande medlemmar i MapiAttachment klass:

Ladda TNEF‑bilagor

Spara TNEF‑bilagor

Kodexemplet nedan demonstrerar hur man extraherar en winmail.dat‑bilaga från ett e‑mailmeddelande, bevarar den och lägger till den igen som en bilaga i meddelandet:

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

Uppdatera resurser i TNEF‑bilaga

Följande kodsnutt visar hur du uppdaterar resurser i en TNEF‑bilaga och bevarar TNEF‑formatet.

Lägg till bilaga i TNEF‑meddelande

Följande kodsnutt visar hur du lägger till nya bilagor till huvudmeddelandet som innehåller TNEF.

Skapa TNEF‑EML från MSG

Outlook‑MSG-filer innehåller ibland information som tabeller och textstilar som kan bli störda om de konverteras till EML. Att skapa TNEF‑meddelanden från sådana MSG-filer gör det möjligt att behålla formateringen och till och med skicka sådana meddelanden via e‑mailklienter med bevarad formatering. MailConversionOptions.ConvertAsTnef egenskapen används för att uppnå detta. Följande kodsnutt visar hur du skapar TNEF‑EML från MSG.

För att skapa TNEF kan följande exempelprogramkod användas.

Identifiera TNEF‑formatmeddelanden

Följande kodsnutt visar hur du upptäcker om ett meddelande är TNEF.

Identifiera TNEF‑formatbilagor

Den Attachment.IsTnef egenskapen möjliggör att upptäcka om meddelandets bilaga är ett TNEF‑formatmeddelande.

var eml = MailMessage.Load(fileName);

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