在大多数情况下,电子邮件按照特定模板以格式正确的布局发送。但是,各种电子邮件编辑器不提供增强的格式选项。在这种情况下,您可以在 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 的更多信息。