Aspose.Email for Java là một API xử lý email mạnh mẽ cung cấp tất cả các tính năng cơ bản cũng như nâng cao để quản lý email. Nó cho phép bạn tạo các tin nhắn email Outlook, đọc các email hiện có và chuyển đổi các tin nhắn MSG, EML, PST, OST, MBOX và MHT sang các định dạng khác từ bên trong các ứng dụng Java của bạn. Trong bài viết này, tôi sẽ trình bày một số tính năng cơ bản nhưng quan trọng về cách tạo và gửi email Outlook bằng Java.
Tôi sẽ đề cập đến các tính năng sau của việc tạo và gửi email trong bài viết này:
- Tạo thư email Outlook bằng Java
- Đặt nội dung HTML cho email bằng Java
- Tạo email có mã hóa cụ thể bằng Java
- Gửi email Outlook bằng Java
- Gửi email không đồng bộ bằng Java
- Gửi email có xác nhận đã đọc bằng Java
- Gửi email hàng loạt bằng Java
Java Email API - Cài đặt
Có thể tải xuống Aspose.Email for Java từ phần Tải xuống hoặc cài đặt bằng các cấu hình Maven sau.
Kho:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
phụ thuộc:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>20.3</version>
<classifier>jdk16</classifier>
</dependency>
Tạo tin nhắn email Outlook bằng Java
Aspose.Email for Java cho phép bạn tạo các email và lưu chúng ở định dạng email mong muốn bao gồm EML, EMLX, MSG và MHTML. Sau đây là các bước để tạo một email và lưu nó dưới dạng tệp.
- Tạo một thể hiện của lớp MailMessage.
- Đặt các thuộc tính của thư như Chủ đề, Nội dung, Tới, CC, v.v.
- Thêm tệp đính kèm nếu cần.
- Lưu email ở định dạng mong muốn bằng phương pháp MailMessage.save().
Mẫu mã sau đây cho biết cách tạo thư email Outlook bằng Java.
MailMessage message = new MailMessage();
// Đặt chủ đề của tin nhắn, nội dung và thông tin người gửi
message.setSubject("New message created by Aspose.Email for .NET");
message.setBody("This is the body of the email.");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Thêm vào người nhận và người nhận CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Thêm tệp đính kèm
message.getAttachments().addItem(new Attachment("word.docx"));
// Lưu tin nhắn ở định dạng EML, EMLX, MSG và MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
message.save("EmailMessage.emlx", SaveOptions.createSaveOptions(MailMessageSaveType.getEmlxFormat()));
message.save("EmailMessage.msg", SaveOptions.getDefaultMsgUnicode());
message.save("EmailMessage.mhtml", SaveOptions.getDefaultMhtml());
Tạo Email với Nội dung HTML bằng Java
Trong ví dụ trước, chúng tôi chỉ cần tạo một email văn bản thuần túy và lưu nó dưới dạng tệp email. Tuy nhiên, hầu hết các email ngày nay đều được tạo bằng phần thân HTML để tổ chức và trình bày nội dung email tốt. Trong trường hợp này, các thẻ HTML được sử dụng để chỉ định bố cục của email. Hãy xem cách tạo email có nội dung HTML bằng Aspose.Email for Java.
- Sử dụng lớp MailMessage để tạo một email mới.
- Đặt Chủ đề, Đến, CC và các thuộc tính khác.
- Đặt phần thân của email bằng phương thức MailMessage.setHtmlBody(string).
- Lưu email bằng phương thức MailMessage.save().
Mẫu mã sau đây cho biết cách tạo email có nội dung HTML bằng Java.
MailMessage message = new MailMessage();
// Đặt chủ đề của tin nhắn, nội dung và thông tin người gửi
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Thêm vào người nhận và người nhận CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Lưu tin nhắn ở định dạng EML, EMLX, MSG và MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
Tạo Email có mã hóa cụ thể bằng Java
Aspose.Email for Java cũng cho phép bạn đặt mã hóa văn bản mong muốn cho các email. Tiêu chuẩn mã hóa được sử dụng để thông báo cho ứng dụng email hoặc trình duyệt về cách diễn giải các ký tự trong nội dung của email. Sau đây là các bước để tạo một email với một tiêu chuẩn mã hóa cụ thể.
- Tạo một đối tượng của lớp MailMessage.
- Đặt các thuộc tính của email như Chủ đề, Đến, CC, v.v.
- Đặt tiêu chuẩn mã hóa bằng phương thức MailMessage.setBodyEncoding().
- Tạo và lưu email bằng phương thức MailMessage.save().
Mẫu mã sau đây cho biết cách tạo email với tiêu chuẩn mã hóa cụ thể bằng Java.
MailMessage message = new MailMessage();
// Đặt chủ đề của tin nhắn, nội dung và thông tin người gửi
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Chỉ định mã hóa
message.setBodyEncoding(Charset.forName("US-ASCII"));
// Thêm vào người nhận và người nhận CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Lưu tin nhắn ở định dạng EML, EMLX, MSG và MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
Gửi email Outlook bằng Java
Khi bạn đã tạo một email, bạn có thể gửi nó cho người nhận bằng Giao thức truyền thư đơn giản (SMTP). Sau đây là các bước để gửi email bằng Aspose.Email for Java.
- Tạo một email mới hoặc tải một email hiện có bằng lớp MailMessage.
- Tạo một thể hiện của lớp SmtpClient và đặt máy chủ, tên người dùng, mật khẩu và cổng của nó.
- Gửi email bằng phương thức SmtpClient.send().
Mẫu mã sau đây cho biết cách gửi email qua ứng dụng khách SMTP trong Java.
MailMessage message = new MailMessage();
// Đặt chủ đề của tin nhắn, nội dung và thông tin người gửi
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Chỉ định mã hóa
message.setBodyEncoding(Charset.forName("US-ASCII"));
// Thêm vào người nhận và người nhận CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Tạo một thể hiện của Lớp SmtpClient
SmtpClient client = new SmtpClient();
// Chỉ định máy chủ lưu trữ thư, Tên người dùng, Mật khẩu, Cổng
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);
try
{
// Client.Send sẽ gửi tin nhắn này
client.send(message);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Gửi email không đồng bộ bằng Java
Aspose.Email for Java cũng cho phép bạn gửi email không đồng bộ. Đối với điều này, bạn có thể sử dụng phương thức SmtpClient.beginSend(). Mẫu mã sau đây cho biết cách gửi email không đồng bộ bằng Java.
MailMessage message = new MailMessage();
// Đặt chủ đề của tin nhắn, nội dung và thông tin người gửi
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Chỉ định mã hóa
message.setBodyEncoding(Charset.forName("US-ASCII"));
// Thêm vào người nhận và người nhận CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Tạo một thể hiện của Lớp SmtpClient
SmtpClient client = new SmtpClient();
// Chỉ định máy chủ lưu trữ thư, Tên người dùng, Mật khẩu, Cổng
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);
try
{
// Client.beginSend sẽ gửi tin nhắn này
client.beginSend(message);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Gửi email có xác nhận đã đọc bằng Java
Bạn cũng có thể thêm yêu cầu xác nhận đã đọc vào email. Tính năng này cho phép bạn nhận được thông báo sau khi nhận được email. Sau đây là các bước để tạo và gửi một email chứa yêu cầu xác nhận đã đọc.
- Tạo một email mới bằng lớp MailMessage.
- Đặt tùy chọn thông báo gửi bằng phương thức MailMessage.setDeliveryNotificationOptions().
- Thêm thông tin biên nhận trong tiêu đề email.
- Sử dụng lớp SmtpClient để gửi email.
Mẫu mã sau đây cho biết cách gửi email chứa biên nhận đã đọc bằng Java.
MailMessage message = new MailMessage();
// Đặt chủ đề của tin nhắn, nội dung và thông tin người gửi
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Đặt tùy chọn thông báo
message.setDeliveryNotificationOptions(DeliveryNotificationOptions.OnSuccess);
message.getHeaders().add("Return-Receipt-To", "from@domain.com");
message.getHeaders().add("Disposition-Notification-To", "from@domain.com");
// Thêm vào người nhận
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
// Tạo một thể hiện của Lớp SmtpClient
SmtpClient client = new SmtpClient();
// Chỉ định máy chủ lưu trữ thư, Tên người dùng, Mật khẩu, Cổng
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);
try
{
// Client.Send sẽ gửi tin nhắn này
client.send(message);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Gửi email hàng loạt bằng Java
Có thể xảy ra trường hợp bạn cần gửi hàng loạt email khác nhau. Trong trường hợp đó, bạn chỉ cần thêm tất cả các email vào đối tượng MailMessageCollection và chuyển nó tới ứng dụng khách SMTP để gửi. Mẫu mã sau đây cho biết cách gửi hàng loạt email bằng Java.
// Tạo các thể hiện của lớp MailMessage và chỉ định Đến, Từ, Chủ đề và Tin nhắn
MailMessage message1 = new MailMessage("msg1@from.com", "msg1@to.com", "Subject1", "message1, how are you?");
MailMessage message2 = new MailMessage("msg1@from.com", "msg2@to.com", "Subject2", "message2, how are you?");
MailMessage message3 = new MailMessage("msg1@from.com", "msg3@to.com", "Subject3", "message3, how are you?");
// Tạo một phiên bản MailMessageCollection và thêm các thông báo email vào đó
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);
// Tạo SmtpClient và chỉ định máy chủ, cổng, tên người dùng và mật khẩu
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
try
{
// Gửi tin nhắn
client.send(manyMsg);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Bản trình diễn trực tiếp
Sự kết luận
Trong bài đăng này, tôi đã chỉ cho bạn cách tạo email Outlook và lưu chúng dưới dạng định dạng EML, MSG và MTH bằng Java. Ngoài ra, các cách gửi email khác nhau trong Java bằng ứng dụng khách STMP cũng được thảo luận. Bạn có thể tìm hiểu thêm về Thư viện email Java của Aspose bằng cách sử dụng tài liệu.