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
- Enviar um documento do Word no corpo do e-mail
- Obtenha uma licença de API gratuita
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.
- Carregue o documento do Word usando a classe com.aspose.words.Document.
- Crie uma instância da classe ByteArrayOutputStream.
- Salve o documento do Word como MHTML no objeto ByteArrayOutputStream.
- Carregue o MHTML em um objeto ByteArrayInputStream.
- Crie uma instância da classe com.aspose.email.MailMessage e carregue o MHTML salvo no objeto ByteArrayInputStream.
- Defina os campos do e-mail, como Para, De, Assunto, etc.
- Crie uma instância da classe com.aspose.email.SmtpClient
- Defina o host e envie o email usando o método SmtpClient.send(MailMessage).
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.