Penanganan Lampiran TNEF dalam Pesan Email
TNEF (Transport Neutral Encapsulation Format) adalah format proprietari yang digunakan oleh Microsoft Outlook untuk mengenkapsulasi konten kaya dalam lampiran - paling umum disimpan sebagai winmail.dat. API Aspose.Email memungkinkan Anda membaca pesan email yang memiliki lampiran TNEF dan memodifikasi isi lampiran tersebut. Email kemudian dapat disimpan sebagai email normal atau dalam format yang sama, mempertahankan lampiran TNEF. Artikel ini menampilkan berbagai contoh kode untuk bekerja dengan pesan yang berisi lampiran TNEF. Artikel ini juga menunjukkan cara membuat file EML TNEF dari file MSG Outlook.
Baca Pesan dengan Lampiran TNEF
Potongan kode berikut menunjukkan cara membaca pesan dengan mempertahankan lampiran TNEF.
Baca Pesan tanpa Lampiran TNEF
Potongan kode berikut menunjukkan cara membaca pesan tanpa mempertahankan lampiran TNEF.
Muat dan Simpan Lampiran TNEF
Dengan Aspose.Email untuk .NET, Anda dapat memuat lampiran TNEF langsung ke dalam sebuah MapiAttachment objek menggunakan jalur file atau stream, dan kemudian menyimpan objek ke format TNEF. Ini memungkinkan pembuatan file winmail.dat atau pelestarian format khusus Outlook dalam alur kerja email.
API menyediakan anggota berikut dalam MapiAttachment kelas:
Muat Lampiran TNEF
-
static MapiAttachment LoadFromTnef(string fileName) - Memuat lampiran TNEF dari file .dat.
-
static MapiAttachment LoadFromTnef(Stream stream) - Memuat lampiran TNEF dari stream (mis., MemoryStream atau file stream).
Simpan Lampiran TNEF
-
void SaveToTnef(string filename) - Menyimpan MapiAttachment ke file TNEF.
-
void SaveToTnef(Stream stream) - Menyimpan MapiAttachment ke stream dalam format TNEF.
Contoh kode di bawah ini memperlihatkan cara mengekstrak lampiran winmail.dat dari sebuah pesan email, mempertahankannya, dan menambahkannya kembali sebagai lampiran ke pesan:
// 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);
Perbarui Sumber Daya dalam Lampiran TNEF
Potongan kode berikut menunjukkan cara memperbarui sumber daya dalam lampiran TNEF dan mempertahankan format TNEF.
Tambahkan Lampiran ke Pesan TNEF
Potongan kode berikut menunjukkan cara menambahkan lampiran baru ke pesan utama yang berisi TNEF.
Membuat TNEF EML dari MSG
MSG Outlook kadang berisi informasi seperti tabel dan gaya teks yang dapat terganggu jika dikonversi ke EML. Membuat pesan TNEF dari file MSG semacam itu memungkinkan mempertahankan format dan bahkan mengirim pesan tersebut melalui klien email sambil mempertahankan formatnya. The MailConversionOptions.ConvertAsTnef properti digunakan untuk mencapai ini. Potongan kode berikut menunjukkan cara membuat EML TNEF dari MSG.
Untuk membuat TNEF, kode contoh berikut dapat digunakan.
Identifikasi Pesan Berformat TNEF
Potongan kode berikut menunjukkan cara mendeteksi apakah sebuah pesan adalah TNEF.
Identifikasi Lampiran Berformat TNEF
The Attachment.IsTnef properti memungkinkan mendeteksi apakah lampiran pesan berformat TNEF.
var eml = MailMessage.Load(fileName);
foreach (attachment in eml.Attachments)
{
Console.WriteLine($"Is Attachment TNEF?: {attachment.IsTnef}");
}