Verwendung eines Microsoft‑Word‑Dokuments als Nachrichteninhalt und Senden von E‑Mails
Dieser Artikel zeigt, wie Sie ein Microsoft Word-Dokument als E‑Mail‑Text verwenden und es an Empfänger senden. Das Beispieldokument ist eine Verkaufsrechnung aus der Northwind-Datenbank, exportiert im Microsoft‑Word‑Format. Aspose.Email für Java arbeitet mit Netzwerkprotokollen und Microsoft‑Outlook‑Funktionen und kann keine Microsoft‑Word‑Dokumente verarbeiten. Um dies zu umgehen, verwenden die Beispiele in diesem Artikel Aspose.Words for Java um das Word‑Dokument zu laden und in das MHTML‑Format zu konvertieren. Aspose.Email für Java verwendet das MHTML‑Dokument im E‑Mail‑Body.
Microsoft‑Word‑Dokumente als E‑Mail‑Body verwenden
Die nachstehenden Programmierbeispiele zeigen, wie man ein Word‑Dokument als E‑Mail‑Body mit Aspose.Words für Java und Aspose.Email für Java sendet:
- Laden Sie ein Microsoft‑Word‑Dokument mit Aspose.Word für Java’s Dokument Klasse.
- Speichern Sie es im MHTML‑Format.
- Laden Sie das MHTML‑Dokument mit Aspose.Email für Java’s MailMessage Klasse, um den E‑Mail‑Body festzulegen.
- Setzen Sie weitere Nachrichten‑Eigenschaften mit verschiedenen MailMessage Klassen‑Eigenschaften und -Methoden.
- Senden Sie die E‑Mail mit Aspose.Email für Java’s SMTPClient Klasse.
Das Ausgangsdokument, eine Verkaufsrechnung, die aus dem Microsoft‑Northwind‑Beispiel nach Microsoft Word exportiert wurde, ist unten zu sehen.

Wenn die Nachricht in Microsoft Outlook gesendet und empfangen wurde, sieht sie wie die untenstehende Nachricht aus.

Die HTML‑Formatierung und Bilder bleiben wie im Originaldokument erhalten, wenn sie entweder in Outlook oder in einem Web‑E‑Mail‑Client wie Gmail oder Hotmail angezeigt werden. Unten ist ein Screenshot der Nachricht, geöffnet in Gmail im Chrome‑Browser.

Das folgende Code‑Snippet zeigt, wie man ein Microsoft‑Word‑Dokument als Nachrichteninhalt verwendet und damit eine E‑Mail sendet, indem man SmtpClient Klasseninstanz.
// 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);
}