Ekstrak Konten Pesan Email dalam C#
Tampilkan Informasi Email
The MailMessage mewakili pesan email dan memungkinkan pengembang mengakses properti pesan email. Informasi header (dibahas dalam Mengekstrak Header Email) dapat diekstrak dan dimanipulasi dengan berbagai cara. Artikel ini menjelaskan cara menampilkan informasi header email terpilih dan tubuh email di layar. Untuk Menampilkan Informasi Email di Layar, ikuti langkah-langkah berikut:
- Buat sebuah instansi dari MailMessage kelas.
- Muat pesan email ke dalam MailMessage instance.
- Tampilkan konten email di layar.
Potongan kode berikut menunjukkan cara menampilkan informasi email di layar.
// Create MailMessage instance by loading an Eml file
var message = MailMessage.Load("test.eml", new EmlLoadOptions());
// Gets the sender info, recipient info, Subject, htmlbody and textbody
Console.Write("From:");
Console.WriteLine(message.From);
Console.Write("To:");
Console.WriteLine(message.To);
Console.Write("Subject:");
Console.WriteLine(message.Subject);
Console.WriteLine("HtmlBody:");
Console.WriteLine(message.HtmlBody);
Console.WriteLine("TextBody");
Console.WriteLine(message.Body);
Ekstrak Header Email
Header email mewakili set standar bidang header yang didefinisikan oleh Internet dan RFC yang termasuk dalam pesan email Internet. Header email dapat ditentukan menggunakan MailMessage kelas. Tipe header umum didefinisikan dalam HeaderType kelas. Ini adalah kelas sealed yang berfungsi seperti enumerasi normal. Untuk mengekstrak header dari email, ikuti langkah-langkah berikut:
- Buat sebuah instansi dari MailMessage kelas.
- Muat pesan email dalam instansi MailMessage kelas.
- Setelah pesan email dimuat, kita akan mendapatkan konten mentahnya.
The MailMessage class sendiri berisi properti seperti From, To, Cc, Subject, dan sebagainya. Properti ini dapat diekstrak dari header.
Potongan kode berikut menunjukkan cara mengekstrak header email.
Dapatkan Nilai Header yang Terdecode
Potongan kode berikut menunjukkan cara mendapatkan nilai header yang telah didekode.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
MailMessage mailMessage = MailMessage.Load(dataDir + "emlWithHeaders.eml");
string decodedValue = mailMessage.Headers.GetDecodedValue("Thread-Topic");
Console.WriteLine(decodedValue);
Ekstrak Tubuh Email
Dapatkan Tubuh Teks Biasa
The Body properti mengembalikan representasi teks biasa dari tubuh pesan.
string plainTextBody = mailMessage.Body;
Catatan: Jika bagian MIME text/plain ada dalam pesan, properti mengembalikan data teksnya. Jika tidak, ia mengembalikan konten teks terpisah dari HtmlBody properti tanpa markup html.
Dapatkan Tubuh HTML sebagai Teks Biasa
The MailMessage kelas menyediakan fitur untuk mengekstrak tubuh HTML pesan sebagai teks biasa. The MailMessage kelas menyediakan sebuah GetHtmlBodyText metode yang mengembalikan tubuh HTML dalam teks biasa. Metode ini mengurai HtmlBody properti dan mengembalikan konten teks biasa terpisah dengan mengabaikan markup html. The GetHtmlBodyText metode menerima parameter boolean yang menunjukkan apakah tubuh harus berisi URL atau tidak. Menetapkan parameter ke true menunjukkan bahwa tubuh HTML harus berisi URL.
Cuplikan kode berikut mendemonstrasikan penggunaan GetHtmlBodyText metode untuk mengekstrak tubuh HTML email sebagai teks biasa.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Email();
MailMessage mail = MailMessage.Load(dataDir + "HtmlWithUrlSample.eml");
string body_with_url = mail.GetHtmlBodyText(true);// body will contain URL
string body_without_url = mail.GetHtmlBodyText(false);// body will not contain URL
Console.WriteLine("Body with URL: " + body_with_url);
Console.WriteLine("Body without URL: " + body_without_url);
Akses Alamat X.500 Exchange
The MailAddress kelas memiliki X500Address properti yang dibangun untuk menampilkan alamat berformat Exchange X.500 jika ada dalam pesan. Ini menyediakan akses hanya-baca ke string alamat X.500 (Exchange) untuk MailAddress instance dan mengembalikan alamat X.500 jika termasuk dalam metadata pesan, jika tidak mengembalikan null atau kosong. Tidak diperlukan parsing — properti mengembalikan string X.500 mentah.
var mailMessage = MailMessage.Load(fileName);
string exaddr = mailMessage.From.X500Address;