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
- Invia un documento Word nel corpo dell’e-mail
- Ottieni una licenza API gratuita
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.
- Carica il documento di Word usando la classe com.aspose.words.Document.
- Crea un’istanza della classe ByteArrayOutputStream.
- Salva il documento di Word come MHTML nell’oggetto ByteArrayOutputStream.
- Carica l’MHTML in un oggetto ByteArrayInputStream.
- Crea un’istanza della classe com.aspose.email.MailMessage e carica l’MHTML salvato nell’oggetto ByteArrayInputStream.
- Imposta i campi dell’e-mail come A, Da, Oggetto, ecc.
- Crea un’istanza della classe com.aspose.email.SmtpClient.
- Imposta l’host e invia l’e-mail utilizzando il metodo SmtpClient.send(MailMessage).
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.