invia un documento word come e-mail in java

Nella maggior parte dei casi, le e-mail vengono inviate in un layout ben formattato seguendo un modello particolare. Tuttavia, vari editor di posta elettronica non forniscono le opzioni di formattazione avanzate. In questi casi, puoi creare un messaggio in un documento Word e usarlo come corpo di posta elettronica. In questo articolo imparerai come inviare un documento MS Word come corpo di posta elettronica usando Java.

API Java per importare documenti Word in e-mail

Per importare e inviare un documento Word in un corpo di posta elettronica, sfrutteremo le capacità delle API Aspose.Words per Java e Aspose.Email per Java. Il primo verrà utilizzato per salvare il documento Word in formato MHTML, mentre il secondo verrà utilizzato per creare e inviare l’e-mail. Puoi scaricare le API dalle seguenti sezioni o installarle utilizzando le configurazioni 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>

Invia un documento Word nel corpo dell’e-mail utilizzando Java

Di seguito sono riportati i passaggi per importare e inviare un documento Word in un corpo di posta elettronica.

L’esempio di codice seguente mostra come inviare un documento di Word come corpo di posta elettronica.

// Carica il documento
Document doc = new Document("Document.doc");

// Salva in un flusso di output in formato MHTML.
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
doc.save(outputStream, SaveFormat.MHTML);

// Carica nuovamente il flusso MHTML in un flusso di input da utilizzare con Aspose.Email.
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());

// Crea un messaggio di posta elettronica MIME Aspose.Email dallo stream.
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");

// Salva il messaggio in formato MSG di Outlook.
message.save("Message.msg", SaveOptions.getDefaultMsg());

// Invia il messaggio utilizzando Aspose.Email
SmtpClient client = new SmtpClient();
client.setHost("your_smtp.com");
client.send(message);

Ottieni una licenza API gratuita

Puoi provare le API utilizzate in questo articolo senza limitazioni di valutazione ottenendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato come importare e inviare un documento Word come corpo di posta elettronica utilizzando Java. Inoltre, l’esempio di codice ha mostrato come inviare l’e-mail composta da un documento Word utilizzando un client SMTP. Puoi esplorare di più sulle API utilizzate nell’articolo visitando la documentazione seguente.

Guarda anche