enviar documento do word como e-mail em java

Na maioria dos casos, os emails são enviados em um layout bem formatado seguindo um modelo específico. No entanto, vários editores de e-mail não fornecem as opções de formatação aprimoradas. Nesses casos, você pode criar uma mensagem em um documento do Word e usá-la como corpo de email. Neste artigo, você aprenderá como enviar um documento do MS Word como um corpo de e-mail usando Java.

APIs Java para importar documento do Word em e-mail

Para importar e enviar um documento do Word em um corpo de e-mail, aproveitaremos os recursos das APIs Aspose.Words for Java e Aspose.Email for Java. O primeiro será usado para salvar o documento do Word no formato MHTML, enquanto o segundo será usado para criar e enviar o e-mail. Você pode baixar as APIs das seções a seguir ou instalá-las usando as configurações do 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>

Enviar um documento do Word no corpo do email usando Java

A seguir estão as etapas para importar e enviar um documento do Word em um corpo de email.

O exemplo de código a seguir mostra como enviar um documento do Word como um corpo de email.

// Carregar o documento
Document doc = new Document("Document.doc");

// Salve em um fluxo de saída no formato MHTML.
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
doc.save(outputStream, SaveFormat.MHTML);

// Carregue o fluxo MHTML de volta em um fluxo de entrada para usar com Aspose.Email.
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());

// Crie uma mensagem de e-mail MIME Aspose.Email a partir do fluxo.
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");

// Salve a mensagem no formato MSG do Outlook.
message.save("Message.msg", SaveOptions.getDefaultMsg());

// Envie a mensagem usando Aspose.Email
SmtpClient client = new SmtpClient();
client.setHost("your_smtp.com");
client.send(message);

Obtenha uma licença de API gratuita

Você pode experimentar as APIs usadas neste artigo sem limitações de avaliação obtendo uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como importar e enviar um documento do Word como corpo de e-mail usando Java. Além disso, o exemplo de código mostrou como enviar o email composto por um documento do Word usando um cliente SMTP. Você pode explorar mais sobre as APIs usadas no artigo visitando as documentações a seguir.

Veja também