В большинстве случаев электронные письма отправляются в хорошо отформатированном макете по определенному шаблону. Однако различные редакторы электронной почты не предоставляют расширенные параметры форматирования. В таких случаях вы можете создать сообщение в документе Word и использовать его в качестве тела сообщения электронной почты. В этой статье вы узнаете, как отправить документ MS Word в виде тела сообщения электронной почты с помощью Java.
- API-интерфейсы Java для импорта документа Word в электронную почту
- Отправить документ Word в теле письма
- Получите бесплатную лицензию API
API-интерфейсы Java для импорта документа Word в электронную почту
Чтобы импортировать и отправлять документ Word в теле сообщения электронной почты, мы воспользуемся возможностями API Aspose.Words для Java и Aspose.Email для Java. Первый будет использоваться для сохранения документа 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>
Отправить документ Word в теле письма с помощью Java
Ниже приведены шаги для импорта и отправки документа Word в теле сообщения электронной почты.
- Загрузите документ Word, используя класс com.aspose.words.Document.
- Создайте экземпляр класса ByteArrayOutputStream.
- Сохраните документ Word как MHTML в объекте ByteArrayOutputStream.
- Загрузите MHTML в объект ByteArrayInputStream.
- Создайте экземпляр класса com.aspose.email.MailMessage и загрузите MHTML, сохраненный в объекте ByteArrayInputStream.
- Установите поля электронной почты, такие как «Кому», «От», «Тема» и т. д.
- Создайте экземпляр класса 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());
// Создайте сообщение электронной почты MIME Aspose.Email из потока.
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-интерфейсы, используемые в этой статье, без ограничений по ознакомительной версии, получив бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как импортировать и отправлять документ Word в виде тела электронной почты с помощью Java. Кроме того, в примере кода показано, как отправить электронное письмо, состоящее из документа Word, с помощью SMTP-клиента. Вы можете узнать больше об API, используемых в статье, посетив следующую документацию.