Mengekstrak Konten Pesan dari Email

Menampilkan Informasi Email di Layar

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 yang dipilih dan badan email di layar.

  1. Buat instance dari MailMessage.
  2. Muat pesan email ke dalam instance MailMessage.
  3. Tampilkan konten email di layar.

Kode di bawah ini menunjukkan cara memuat pesan email dan menampilkan isinya - dari, ke, subjek, dan badan email - di layar.

Mendapatkan Tanggal dan Waktu Pesan

The MailMessage kelas dapat digunakan untuk mengambil tanggal pesan dalam UTC atau zona waktu lokal. Informasi ini dapat dirangkum sebagai berikut:

  1. MailMessage.getDate() - mengembalikan tanggal dalam UTC
  2. MailMessage.getLocalDate() - mengembalikan tanggal dalam zona waktu lokal
  3. MailMessage.isLocalDate Mengembalikan true, jika MailMessage.getDate() berada di zona waktu lokal

Mengekstrak 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 biasa.

Untuk mengekstrak header dari email, ikuti langkah-langkah berikut:

  1. Buat instance dari kelas MailMessage.
  2. Muat pesan email dalam instance kelas MailMessage.
  3. Setelah pesan email dimuat, kami akan mendapatkan konten mentahnya. Kelas MailMessage sendiri berisi properti seperti From, To, Cc, Subject, dan sebagainya. Properti ini dapat diekstrak dari header.
  4. Tampilkan konten mentah.

Dapatkan Nilai Header yang Terdecode

Dapatkan dan Modifikasi Header Disposisi Sumber Daya yang Terhubung

Sumber daya yang terhubung dapat diakses dan dimanipulasi secara programatis dalam objek pesan email. The getContentDisposition() metode dari LinkedResource kelas mengambil header Content-Disposition. Contoh kode di bawah ini menunjukkan cara mengakses dan memodifikasi nama file dari sumber daya yang terhubung:

MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");

Dapatkan body HTML sebagai teks biasa

The MailMessage kelas menyediakan fitur untuk mengekstrak body HTML pesan sebagai teks biasa. Kelas MailMessage menyediakan sebuah GetHtmlBodyText metode yang mengembalikan body HTML dalam bentuk teks biasa. Metode GetHtmlBodyText menerima parameter boolean yang menunjukkan apakah body harus berisi URL atau tidak. Menetapkan parameter ke true menandakan bahwa body HTML harus berisi URL.

Cuplikan kode berikut menunjukkan penggunaan metode GetHtmlBodyText untuk mengekstrak body HTML email sebagai teks biasa.

Mengambil Alamat Exchange X.500 dari Email

Aspose.Email for Java memungkinkan Anda mengakses alamat Exchange X.500 secara langsung melalui MailAddress kelas. Dengan X500Address properti, Anda dapat mengambil alamat email dalam format Exchange X.500 bila tersedia. Contoh kode berikut menunjukkan cara memuat pesan email dan mendapatkan alamat X.500 pengirim:

MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();

Jika alamat X.500 ada, itu akan dikembalikan sebagai string dan dapat digunakan untuk pemrosesan lebih lanjut atau pencatatan dalam aplikasi yang berinteraksi dengan sistem berbasis Exchange.

Ekstrak dan Sematkan Gambar yang Terhubung sebagai Lampiran dalam Email HTML

Aspose.Email ExtractHTMLBodyResourcesAsAttachments metode dari HtmlSaveOption kelas menentukan apakah akan mengekstrak sumber daya body HTML sebagai lampiran. Dengan demikian, Anda dapat mengekstrak konten yang terhubung dengan gambar dari body HTML dan menyematkannya sebagai lampiran dalam pesan MIME. Gambar yang terhubung dipertahankan dan terkait dengan email secara tepat, meningkatkan integritas konten dan aksesibilitas offline.

Contoh kode berikut menunjukkan cara melakukan tugas ini:

MailMessage mailMessage = MailMessage.load("input.eml");
HtmlSaveOptions options = new HtmlSaveOptions();
options.setExtractHTMLBodyResourcesAsAttachments(true);
options.setResourceHtmlRenderingHandler(new ResourceHtmlRenderingHandler() {
    public void invoke(final Object sender, final ResourceHtmlRenderingEventArgs e) {
        System.out.println(e.getPathToResourceFile() + " " + ((Attachment)sender).getContentId());
    }
});