enviar documento de word como correo electrónico en java

En la mayoría de los casos, los correos electrónicos se envían en un diseño bien formateado siguiendo una plantilla particular. Sin embargo, varios editores de correo electrónico no brindan las opciones de formato mejoradas. En tales casos, puede crear un mensaje en un documento de Word y usarlo como cuerpo de un correo electrónico. En este artículo, aprenderá cómo enviar un documento de MS Word como un cuerpo de correo electrónico usando Java.

API de Java para importar documentos de Word en el correo electrónico

Para importar y enviar un documento de Word en un cuerpo de correo electrónico, aprovecharemos las capacidades de Aspose.Words for Java y Aspose.Email for Java API. El primero se utilizará para guardar el documento de Word en formato MHTML, mientras que el segundo se utilizará para crear y enviar el correo electrónico. Puede descargar las API de las siguientes secciones o instalarlas usando las configuraciones de 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>

Envíe un documento de Word en el cuerpo del correo electrónico usando Java

Los siguientes son los pasos para importar y enviar un documento de Word en un cuerpo de correo electrónico.

El siguiente ejemplo de código muestra cómo enviar un documento de Word como cuerpo de un correo electrónico.

// Cargue el documento
Document doc = new Document("Document.doc");

// Guardar en un flujo de salida en formato MHTML.
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
doc.save(outputStream, SaveFormat.MHTML);

// Vuelva a cargar el flujo MHTML en un flujo de entrada para usarlo con Aspose.Email.
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());

// Cree un mensaje de correo electrónico Aspose.Email MIME a partir de la secuencia.
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");

// Guarde el mensaje en formato MSG de Outlook.
message.save("Message.msg", SaveOptions.getDefaultMsg());

// Envíe el mensaje usando Aspose.Email
SmtpClient client = new SmtpClient();
client.setHost("your_smtp.com");
client.send(message);

Obtenga una licencia de API gratuita

Puede probar las API utilizadas en este artículo sin limitaciones de evaluación obteniendo una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a importar y enviar un documento de Word como cuerpo de un correo electrónico utilizando Java. Además, el ejemplo de código ha mostrado cómo enviar el correo electrónico compuesto por un documento de Word utilizando un cliente SMTP. Puede explorar más sobre las API que se utilizan en el artículo visitando las siguientes documentaciones.

Ver también