Gửi tài liệu Word dưới dạng email trong Java

gửi tài liệu từ dưới dạng email trong java

Trong hầu hết các trường hợp, email được gửi theo một bố cục được định dạng tốt theo một mẫu cụ thể. Tuy nhiên, các trình soạn thảo email khác nhau không cung cấp các tùy chọn định dạng nâng cao. Trong những trường hợp như vậy, bạn có thể tạo một thư trong tài liệu Word và sử dụng nó làm nội dung email. Trong bài viết này, bạn sẽ học cách gửi tài liệu MS Word dưới dạng nội dung email bằng Java.

API Java để nhập tài liệu Word trong email#

Để nhập và gửi tài liệu Word trong nội dung email, chúng tôi sẽ tận dụng khả năng của các API Aspose.Words for Java và Aspose.Email for Java. Cái trước sẽ được sử dụng để lưu tài liệu Word ở định dạng MHTML, trong khi cái sau sẽ được sử dụng để tạo và gửi email. Bạn có thể tải xuống các API từ các phần sau hoặc cài đặt chúng bằng cách sử dụng cấu hình 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>

Gửi tài liệu Word trong Email Body bằng Java#

Sau đây là các bước để nhập và gửi tài liệu Word trong nội dung email.

  • Tải tài liệu Word bằng lớp com.aspose.words.Document.
  • Tạo một thể hiện của lớp ByteArrayOutputStream.
  • Lưu tài liệu Word dưới dạng MHTML trong đối tượng ByteArrayOutputStream.
  • Tải MHTML vào đối tượng ByteArrayInputStream.
  • Tạo một thể hiện của lớp com.aspose.email.MailMessage và tải MHTML được lưu trong đối tượng ByteArrayInputStream.
  • Đặt các trường của email như Tới, Từ, Chủ đề, v.v.
  • Tạo một phiên bản của lớp com.aspose.email.SmtpClient
  • Đặt máy chủ và gửi email bằng phương pháp SmtpClient.send (MailMessage).

Mẫu mã sau đây cho biết cách gửi tài liệu Word dưới dạng nội dung email.

// Tải tài liệu
Document doc = new Document("Document.doc");

// Lưu vào một luồng đầu ra ở định dạng MHTML.
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
doc.save(outputStream, SaveFormat.MHTML);

// Tải lại luồng MHTML vào một luồng đầu vào để sử dụng với Aspose.Email.
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());

// Tạo một email Aspose.Email MIME từ luồng.
MailMessage message = MailMessage.load(inputStream);
message.setFrom(new MailAddress("[email protected]"));
message.getTo().add("[email protected]");
message.setSubject("Aspose.Words + Aspose.Email MHTML Test Message");

// Lưu thư ở định dạng Outlook MSG.
message.save("Message.msg", SaveOptions.getDefaultMsg());

// Gửi tin nhắn bằng Aspose.Email
SmtpClient client = new SmtpClient();
client.setHost("your_smtp.com");
client.send(message);

Nhận giấy phép API miễn phí#

Bạn có thể thử các API được sử dụng trong bài viết này mà không bị giới hạn đánh giá bằng cách nhận giấy phép tạm thời miễn phí.

Sự kết luận#

Trong bài viết này, bạn đã học cách nhập và gửi tài liệu Word dưới dạng nội dung email bằng Java. Hơn nữa, mẫu mã đã chỉ ra cách gửi email bao gồm tài liệu Word bằng ứng dụng khách SMTP. Bạn có thể khám phá thêm về các API đang được sử dụng trong bài viết bằng cách truy cập các tài liệu sau.

Xem thêm#