надсилати документ Word як електронну пошту в java

У більшості випадків електронні листи надсилаються в добре відформатованому вигляді за певним шаблоном. Однак різні редактори електронної пошти не надають розширених параметрів форматування. У таких випадках ви можете створити повідомлення в документі Word і використовувати його як тіло електронної пошти. У цій статті ви дізнаєтеся, як надіслати документ MS Word як тіло електронної пошти за допомогою Java.

Java API для імпорту документа Word електронною поштою

Щоб імпортувати та надіслати документ Word у тілі електронної пошти, ми скористаємося можливостями API Aspose.Words for Java та Aspose.Email for 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());

// Створіть повідомлення електронної пошти 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, використані в цій статті, без обмежень щодо оцінювання, отримавши безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як імпортувати та надсилати документ Word як текст електронної пошти за допомогою Java. Крім того, у зразку коду показано, як надіслати електронний лист, складений із документа Word, за допомогою клієнта SMTP. Ви можете дізнатися більше про API, які використовуються в цій статті, відвідавши наступну документацію.

Дивись також