Gestione degli allegati TNEF nei messaggi email

TNEF (Transport Neutral Encapsulation Format) è un formato proprietario usato da Microsoft Outlook per incapsulare contenuti ricchi negli allegati - più comunemente salvato come winmail.dat. L’API Aspose.Email consente di leggere messaggi email che hanno allegati TNEF e modificare il contenuto dell’allegato. L’email può quindi essere salvata come email normale o nello stesso formato, preservando gli allegati TNEF. Questo articolo mostra diversi esempi di codice per lavorare con messaggi contenenti allegati TNEF. L’articolo mostra anche come creare file EML TNEF da file MSG di Outlook.

Leggi un messaggio con allegato TNEF

Il seguente frammento di codice mostra come leggere un messaggio preservando gli allegati TNEF.

Leggi un messaggio senza allegato TNEF

Il seguente frammento di codice mostra come leggere un messaggio senza preservare gli allegati TNEF.

Caricamento e salvataggio di allegati TNEF

Con Aspose.Email per .NET, è possibile caricare gli allegati TNEF direttamente in un MapiAttachment oggetto usando un percorso file o stream, e poi salva l’oggetto in formato TNEF. Questo consente la creazione di file winmail.dat o la preservazione della formattazione specifica di Outlook nei flussi di lavoro email.

L’API fornisce i seguenti membri nel MapiAttachment classe:

Carica allegati TNEF

Salva allegati TNEF

Il campione di codice riportato di seguito dimostra come estrarre un allegato winmail.dat da un messaggio email, preservarlo e ri-aggiungerlo come allegato al messaggio:

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

Aggiorna risorse nell’allegato TNEF

Il seguente frammento di codice mostra come aggiornare le risorse in un allegato TNEF e preservare il formato TNEF.

Aggiungi allegato al messaggio TNEF

Il seguente frammento di codice mostra come aggiungere nuovi allegati al messaggio principale contenente TNEF.

Creare EML TNEF da MSG

I file MSG di Outlook a volte contengono informazioni come tabelle e stili di testo che potrebbero essere alterati se convertiti in EML. Creare messaggi TNEF da tali file MSG consente di mantenere la formattazione e persino di inviare tali messaggi tramite i client email mantenendo la formattazione. Il MailConversionOptions.ConvertAsTnef la proprietà è usata per ottenere ciò. Il seguente frammento di codice mostra come creare EML TNEF da MSG.

Per creare il TNEF, è possibile utilizzare il seguente esempio di codice.

Identifica messaggi in formato TNEF

Il seguente frammento di codice mostra come rilevare se un messaggio è TNEF.

Identifica allegati in formato TNEF

Il Attachment.IsTnef la proprietà consente di rilevare se l’allegato del messaggio è in formato TNEF.

var eml = MailMessage.Load(fileName);

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