Tự động hóa email đã trở nên phổ biến, đặc biệt là đối với các nhà tiếp thị. Nó cho phép họ tự động gửi email được tạo sẵn đến đối tượng mục tiêu vào thời gian đã lên lịch.

Mã Java để gửi email

Gửi email bằng Java

Trong bài viết này, chúng tôi giải thích cách viết mã để gửi email bằng Java. Chúng ta sẽ xem các bước để tạo và gửi email có văn bản thuần túy hoặc nội dung HTML theo chương trình. Ngoài ra, chúng tôi sẽ trình bày cách gửi email hàng loạt và gửi email được lưu trữ từ đĩa bằng Java.

Bài viết này sẽ đề cập đến các điểm được đưa ra dưới đây:

Thư viện Java để gửi email

Chúng tôi sẽ sử dụng Thư viện email Java, cho phép bạn triển khai logic nghiệp vụ của mình để quản lý email mà không cần biết về lập trình mạng hoặc thông số định dạng. Thư viện Java để gửi email có thể được cài đặt trực tiếp bằng cách sử dụng cấu hình Maven như dưới đây:

<repository>
	<id>ConholdateJavaAPI</id>
	<name>Conholdate Java API</name>
	<url>https://releases.conholdate.com/java/repo</url>
</repository>        
<dependency>
	<groupId>com.conholdate</groupId>
	<artifactId>conholdate-total</artifactId>
	<version>23.6</version>
	<type>pom</type>
</dependency>

Để biết cấu hình về các khung công tác Java khác, vui lòng truy cập releases.conholdate.com.

Cách viết code tạo và gửi email bằng Java

Thư viện email Java gửi email thông qua máy chủ SMTP để gửi. Người gửi, người nhận, chủ đề và nội dung thư được chỉ định bằng đối tượng Chuỗi. Trong phần này, chúng ta sẽ thảo luận về cách viết mã mẫu bằng Java để gửi email có văn bản thuần túy cũng như nội dung HTML.

Mã Java để gửi email với văn bản thuần túy

Sau đây là các bước để tạo và gửi email bằng SMTP:

  1. Tạo một đối tượng của lớp MailMessage.
  2. Chỉ định chủ đề, nội dung, địa chỉ người gửi và người nhận.
  3. Tạo một đối tượng của lớp SmtpClient.
  4. Đặt máy chủ, cổng, tên người dùng, mật khẩu và các tùy chọn bảo mật.
  5. Gọi phương thức SmtpClient.send(MailMessage arg) để gửi email.

Mẫu mã bên dưới cho biết cách tạo và gửi thư email bằng văn bản thuần túy:

// Khai báo tin nhắn dưới dạng phiên bản MailMessage
MailMessage msg = new MailMessage();

// Đặt trường Từ và Đến và nội dung văn bản thuần túy
msg.setFrom(MailAddress.to_MailAddress("sender@sender.com"));
msg.getTo().add("receiver@receiver.com");
msg.setBody("This is a Plain Text Body");

// Tạo một thể hiện của lớp SmtpClient
SmtpClient client = new SmtpClient();

// Chỉ định tùy chọn máy chủ lưu trữ gửi thư, Tên người dùng, Mật khẩu, Cổng # và Bảo mật của bạn
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send sẽ gửi tin nhắn này
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

Gửi email có nội dung HTML

Sau đây là các bước để gửi thư email có nội dung HTML:

  1. Tạo một đối tượng của lớp MailMessage.
  2. Chỉ định chủ đề, nội dung, địa chỉ người gửi và người nhận.
  3. Đặt nội dung của email bằng phương thức MailMessage.setHtmlBody(String value).
  4. Tạo một đối tượng của lớp SmtpClient.
  5. Đặt máy chủ, cổng, tên người dùng, mật khẩu và các tùy chọn bảo mật.
  6. Gọi phương thức SmtpClient.send(MailMessage arg) để gửi email.

Mẫu mã bên dưới cho biết cách gửi thư email có nội dung HTML.

// Khai báo tin nhắn dưới dạng phiên bản MailMessage
MailMessage msg = new MailMessage();

// Sử dụng các thuộc tính MailMessage như chỉ định người gửi, người nhận, tin nhắn và HtmlBody
 msg.setFrom(MailAddress.to_MailAddress("newcustomeronnet@gmail.com"));
 msg.setTo(MailAddressCollection.to_MailAddressCollection("asposetest123@gmail.com"));
 msg.setSubject("Test subject");
 msg.setHtmlBody("<html><body>This is the HTML body</body></html>");

// Tạo một thể hiện của lớp SmtpClient
SmtpClient client = new SmtpClient();

// Chỉ định tùy chọn máy chủ lưu trữ gửi thư, Tên người dùng, Mật khẩu, Cổng # và Bảo mật của bạn
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send sẽ gửi tin nhắn này
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

Gửi email được lưu trữ từ đĩa trong Java

Thư viện email Java cho phép bạn tải các tệp EML(Thư điện tử Outlook Express) từ đĩa và gửi chúng qua SMTP.

Các bước để gửi email được lưu trữ từ đĩa được đưa ra dưới đây:

  1. Tạo một đối tượng của lớp MailMessage bằng cách sử dụng phương thức MailMessage.load(String path).
  2. Tạo một đối tượng của lớp SmtpClient.
  3. Đặt máy chủ, cổng, tên người dùng, mật khẩu và các tùy chọn bảo mật.
  4. Gọi phương thức SmtpClient.send(MailMessage arg) để gửi email.

Mẫu mã bên dưới trình bày cách gửi email được lưu trữ từ đĩa trong Java.

// Tải tệp EML trong lớp MailMessage
MailMessage message = MailMessage.load(dataDir + "test.eml");

// Tạo một thể hiện của lớp SmtpClient
SmtpClient client = new SmtpClient();

// Chỉ định tùy chọn máy chủ lưu trữ thư, Tên người dùng, Mật khẩu, Cổng # và Bảo mật của bạn
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send sẽ gửi tin nhắn này
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

Mã Java để gửi email hàng loạt

Sau đây là các bước để viết mã Java để gửi email hàng loạt:

  1. Tạo nhiều đối tượng của lớp MailMessage và chỉ định các tham số hoặc thuộc tính cần thiết của chúng.
  2. Tạo một đối tượng của lớp MailMessageCollection.
  3. Thêm các đối tượng thư email (như được tạo ở bước 1) vào bộ sưu tập bằng phương thức MailMessageCollection.addItem().
  4. Tạo một đối tượng của lớp SmtpClient. and set the host, port, username, and password.
  5. Gửi email bằng phương thức SmtpClient.send(MailMessageCollection arg).

Mẫu mã bên dưới minh họa cách gửi email hàng loạt bằng Java.

// Tạo SmtpClient làm máy khách 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");

// Tạo các phiên bả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 thể hiện của lớp MailMessageCollection và thêm các đối tượng MailMessage
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);

try {
    // Gửi tin nhắn hàng loạt
    client.send(manyMsg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

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

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử API mà không bị giới hạn về đánh giá.

Tổng hợp

Trong bài viết này, bạn đã có được kiến thức về cách viết mã gửi email bằng Java bằng cách sử dụng thư viện Java để gửi email. Ban đầu, bạn đã học cách gửi email có văn bản thuần túy hoặc nội dung HTML theo chương trình. Sau đó, bạn đã biết cách gửi email hàng loạt và gửi email được lưu trữ từ đĩa bằng Java.

Bạn có thể truy cập tài liệu để khám phá các tính năng khác.

Cuối cùng, chúng tôi khuyên bạn nên theo dõi conholdate.com để biết thông tin cập nhật thường xuyên.

Đặt một câu hỏi

Bạn có thể cho chúng tôi biết câu hỏi hoặc thắc mắc của bạn trên diễn đàn của chúng tôi.

Xem thêm