Użycie dokumentu Microsoft Word jako treści wiadomości i wysyłanie e‑maila

Ten artykuł pokazuje, jak użyć dokumentu Microsoft Word jako treści wiadomości e‑mail i wysłać go do odbiorców. Przykładowy dokument to faktura sprzedaży z przykładu bazy danych Northwind, wyeksportowana do formatu Microsoft Word. Aspose.Email for Java obsługuje protokoły sieciowe i funkcje Microsoft Outlook i nie może obsługiwać dokumentów Microsoft Word. Aby to obejść, przykłady w tym artykule używają Aspose.Words dla Java do załadowania dokumentu Word i konwersji go do formatu MHTML. Aspose.Email for Java używa dokumentu MHTML w treści e‑maila.

Używanie dokumentów Microsoft Word jako treści e‑maila

Poniższe przykłady programistyczne ilustrują, jak wysłać dokument Word jako treść e‑maila przy użyciu Aspose.Words for Java i Aspose.Email for Java:

  1. Załaduj dokument Microsoft Word przy użyciu Aspose.Word for Java’s Document klasa.
  2. Zapisz go w formacie MHTML.
  3. Załaduj dokument MHTML przy użyciu Aspose.Email for Java’s MailMessage klasy do ustawiania treści e‑maila.
  4. Ustaw inne właściwości wiadomości przy użyciu różnych MailMessage własności i metody klasy.
  5. Wyślij e‑mail przy użyciu Aspose.Email for Java’s SMTPClient klasa.

Dokument źródłowy, faktura sprzedaży wyeksportowana do Microsoft Word z przykładu Microsoft Northwind, można zobaczyć poniżej.

todo:image_alt_text

Po wysłaniu i odebraniu wiadomości w Microsoft Outlook wygląda ona tak, jak poniżej.

todo:image_alt_text

Formatowanie HTML i obrazy są zachowane tak, jak w oryginalnym dokumencie źródłowym, gdy jest wyświetlane w Outlooku lub w internetowym kliencie poczty takiego jak Gmail lub Hotmail. Poniżej znajduje się zrzut ekranu wiadomości otwartej w Gmailu w przeglądarce Chrome.

todo:image_alt_text

Poniższy fragment kodu pokazuje, jak używać dokumentu Microsoft Word jako treści wiadomości i wysłać e‑mail przy użyciu SmtpClient instancję klasy.

// 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);
}