在大多數情況下,電子郵件按照特定模板以格式良好的佈局發送。但是,各種電子郵件編輯器不提供增強的格式設置選項。在這種情況下,您可以在 Word 文檔中創建消息並將其用作電子郵件正文。在本文中,您將學習如何使用 Java 將 MS Word 文檔作為電子郵件正文發送。
用於在電子郵件中導入 Word 文檔的 Java API
為了在電子郵件正文中導入和發送 Word 文檔,我們將利用 Aspose.Words for Java 和 Aspose.Email for Java API 的功能。前者將用於將 Word 文檔保存為 MHTML 格式,而後者將用於創建和發送電子郵件。您可以從以下部分下載 API 或使用 Maven 配置安裝它們。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>21.4</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>21.3</version>
<classifier>jdk16</classifier>
</dependency>
使用 Java 在電子郵件正文中發送 Word 文檔
以下是在電子郵件正文中導入和發送 Word 文檔的步驟。
- 使用 com.aspose.words.Document 類加載 Word 文檔。
- 創建 ByteArrayOutputStream 類的實例。
- 在 ByteArrayOutputStream 對像中將 Word 文檔另存為 MHTML。
- 在 ByteArrayInputStream 對像中加載 MHTML。
- 創建 com.aspose.email.MailMessage 類的實例並加載保存在 ByteArrayInputStream 對像中的 MHTML。
- 設置電子郵件的字段,例如收件人、發件人、主題等。
- 創建 com.aspose.email.SmtpClient 類的實例
- 設置主機並使用 SmtpClient.send(MailMessage) 方法發送電子郵件。
以下代碼示例顯示如何將 Word 文檔作為電子郵件正文發送。
// 裝入文檔
Document doc = new Document("Document.doc");
// 以 MHTML 格式保存到輸出流。
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
doc.save(outputStream, SaveFormat.MHTML);
// 將 MHTML 流加載回輸入流以與 Aspose.Email 一起使用。
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
// 從流中創建一個 Aspose.Email MIME 電子郵件消息。
MailMessage message = MailMessage.load(inputStream);
message.setFrom(new MailAddress("your_from@email.com"));
message.getTo().add("your_to@email.com");
message.setSubject("Aspose.Words + Aspose.Email MHTML Test Message");
// 以 Outlook MSG 格式保存郵件。
message.save("Message.msg", SaveOptions.getDefaultMsg());
// 使用 Aspose.Email 發送消息
SmtpClient client = new SmtpClient();
client.setHost("your_smtp.com");
client.send(message);
獲取免費的 API 許可證
您可以通過 獲得免費的臨時許可證 試用本文中使用的 API,而不受評估限制。
結論
在本文中,您學習瞭如何使用 Java 將 Word 文檔作為電子郵件正文導入和發送。此外,代碼示例還展示瞭如何使用 SMTP 客戶端發送由 Word 文檔組成的電子郵件。您可以通過訪問以下文檔來探索有關本文中使用的 API 的更多信息。