Menggunakan Dokumen Microsoft Word sebagai Badan Pesan dan Mengirim Email

Artikel ini menunjukkan cara menggunakan dokumen Microsoft Word sebagai isi email dan mengirimkannya ke penerima. Dokumen contoh adalah faktur penjualan dari contoh basis data Northwind, diekspor ke format Microsoft Word. Aspose.Email untuk Java menangani protokol jaringan dan fitur Microsoft Outlook serta tidak dapat menangani dokumen Microsoft Word. Untuk mengatasi hal ini, contoh dalam artikel ini menggunakan Aspose.Words for Java untuk memuat dokumen Word dan mengonversinya ke format MHTML. Aspose.Email for Java menggunakan dokumen MHTML dalam badan email.

Menggunakan Dokumen Microsoft Word sebagai Badan Email

Contoh pemrograman di bawah ini mengilustrasikan cara mengirim dokumen Word sebagai badan email menggunakan Aspose.Words for Java dan Aspose.Email for Java:

  1. Muat dokumen Microsoft Word menggunakan Aspose.Word for Java’s Document kelas.
  2. Simpan dalam format MHTML.
  3. Muat dokumen MHTML menggunakan Aspose.Email for Java’s MailMessage kelas untuk mengatur badan email.
  4. Atur properti pesan lain menggunakan MailMessage properti dan metode kelas.
  5. Kirim email menggunakan Aspose.Email for Java’s SMTPClient kelas.

Dokumen sumber, faktur penjualan yang diekspor ke Microsoft Word dari contoh Microsoft Northwind dapat dilihat di bawah ini.

todo:image_alt_text

Ketika pesan telah dikirim dan diterima di Microsoft Outlook, tampilannya seperti pesan di bawah ini.

todo:image_alt_text

Pemformatan HTML dan gambar dipertahankan seperti dalam dokumen sumber asli ketika dilihat di Outlook atau klien email web seperti Gmail atau Hotmail. Di bawah ini adalah tangkapan layar pesan saat dibuka dengan Gmail di peramban Chrome.

todo:image_alt_text

Potongan kode berikut menunjukkan cara menggunakan dokumen Microsoft Word sebagai badan pesan dan mengirim email dengan menggunakan SmtpClient instance kelas.

// The path to the File directory
String dataDir = "data/";

// Load a Word document from disk and save it to stream as MHTML
Document wordDocument = new Document(dataDir + "Test.doc");
ByteArrayOutputStream mhtmlStream = new ByteArrayOutputStream();
wordDocument.save(mhtmlStream, SaveFormat.MHTML);

// Load the MHTML in a MailMessage object
MailMessage message = MailMessage.load(new ByteArrayInputStream(mhtmlStream.toByteArray()), new MhtmlLoadOptions());
message.setSubject("Sending Invoice in Email");
message.setFrom(new MailAddress("sender@gmail.com"));
message.setTo(MailAddressCollection.to_MailAddressCollection("recipient@gmail.com"));

// Save the message in MSG format to disk
message.save(dataDir + "WordDocAsEmailBody_out.msg", SaveOptions.getDefaultMsgUnicode());

    // Send the email message
try (SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd")) {
    client.setSecurityOptions(SecurityOptions.SSLExplicit);
    client.send(message);
}