Een Microsoft Word-document als berichtinhoud gebruiken en e‑mail verzenden
Dit artikel laat zien hoe je een Microsoft Word‑document als e‑mailinhoud kunt gebruiken en naar ontvangers kunt verzenden. Het voorbeelddocument is een verkoopfactuur uit de Northwind-database, geëxporteerd naar Microsoft Word‑formaat. Aspose.Email for Java behandelt netwerkprotocollen en Microsoft Outlook‑functies en kan geen Microsoft Word‑documenten verwerken. Om dit te omzeilen, gebruiken de voorbeelden in dit artikel Aspose.Words for Java om het Word-document te laden en te converteren naar MHTML-indeling. Aspose.Email for Java gebruikt het MHTML-document in de e‑mailinhoud.
Microsoft Word-documenten als e‑mailinhoud gebruiken
De programmeervoorbeelden hieronder illustreren hoe je een Word-document als e‑mailinhoud kunt verzenden met Aspose.Words for Java en Aspose.Email for Java:
- Laad een Microsoft Word-document met Aspose.Word for Java’s Document klasse.
- Sla het op in MHTML-indeling.
- Laad het MHTML-document met Aspose.Email for Java’s MailMessage klasse om de e‑mailinhoud in te stellen.
- Stel andere bericht‑eigenschappen in met verschillende MailMessage klasse-eigenschappen en -methoden.
- Verzend de e‑mail met Aspose.Email for Java’s SMTPClient klasse.
Het brondocument, een verkoopfactuur geëxporteerd naar Microsoft Word vanuit het Microsoft Northwind‑voorbeeld, zie hieronder.

Wanneer het bericht is verzonden en ontvangen in Microsoft Outlook, ziet het er als volgt uit.

De HTML-opmaak en afbeeldingen worden behouden zoals in het originele bronbestand wanneer bekeken in Outlook of een web‑e‑mailclient zoals Gmail of Hotmail. Hieronder een screenshot van het bericht wanneer geopend met Gmail in een Chrome‑browser.

Het volgende codefragment toont hoe je een Microsoft Word-document als berichtinhoud gebruikt en een e‑mail verzendt met behulp van SmtpClient klasse‑instantie.
// The path to the File directory
String dataDir = "data/";
// Load a Word document from disk and save it to stream as MHTML
Document wordDocument = new Document(dataDir + "Test.doc");
ByteArrayOutputStream mhtmlStream = new ByteArrayOutputStream();
wordDocument.save(mhtmlStream, SaveFormat.MHTML);
// Load the MHTML in a MailMessage object
MailMessage message = MailMessage.load(new ByteArrayInputStream(mhtmlStream.toByteArray()), new MhtmlLoadOptions());
message.setSubject("Sending Invoice in Email");
message.setFrom(new MailAddress("sender@gmail.com"));
message.setTo(MailAddressCollection.to_MailAddressCollection("recipient@gmail.com"));
// Save the message in MSG format to disk
message.save(dataDir + "WordDocAsEmailBody_out.msg", SaveOptions.getDefaultMsgUnicode());
// Send the email message
try (SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd")) {
client.setSecurityOptions(SecurityOptions.SSLExplicit);
client.send(message);
}