Đọc email bằng Java

Trong một số trường hợp nhất định, bạn có thể cần đọc và phân tích cú pháp email EML hoặc MSG từ bên trong ứng dụng của mình. Để làm điều đó theo chương trình, bài viết này hướng dẫn cách trích xuất thông tin từ các email trong Java. Đặc biệt, bạn sẽ học cách đọc thông tin chủ đề, đến, từ, nội dung và tiêu đề của email.

API Java để đọc email

Để đọc email, chúng tôi sẽ sử dụng Aspose.Email for Java. Nó là một API mạnh mẽ cho phép bạn tạo các ứng dụng email giàu tính năng trong Java. Bạn có thể tải xuống JAR của API hoặc cài đặt nó bằng cách sử dụng các cấu hình Maven sau.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>21.3</version>
    <classifier>jdk16</classifier>
</dependency>

Đọc email bằng Java

Sau đây là các bước để đọc một email trong Java.

  • Tải tệp email bằng lớp MailMessage.
  • Đọc nội dung email bằng đối tượng MailMessage, chẳng hạn như, Tới, Từ, Chủ đề, Nội dung, v.v.

Mẫu mã sau đây cho thấy cách đọc một email bằng Java.

// Tạo phiên bản MailMessage bằng cách tải tệp Eml
MailMessage message = MailMessage.load("test.eml");

System.out.print("From: ");
// Nhận thông tin người gửi
System.out.println(message.getFrom());
		
System.out.print("To: ");
// Nhận thông tin người nhận
System.out.println(message.getTo());
		
System.out.print("Subject: ");
// Nhận chủ đề
System.out.println(message.getSubject());
		
System.out.print("HtmlBody: ");
// Lấy phần thân HTML
System.out.println(message.getHtmlBody());
		
System.out.print("TextBody: ");
// Lấy nội dung văn bản
System.out.println(message.getTextBody());
		
System.out.print("HtmlBodyText: ");
// Lấy nội dung văn bản from HTML
System.out.println(message.getHtmlBodyText());

Trích xuất nội dung email dưới dạng văn bản thuần túy trong Java

Bạn cũng có thể đọc email và trích xuất nội dung của nó dưới dạng văn bản thuần túy thay vì HTML. Sau đây là các bước để thực hiện thao tác này.

Mẫu mã sau đây cho thấy cách trích xuất nội dung email dưới dạng văn bản thuần túy trong Java.

// Tải tin nhắn email
MailMessage mail = MailMessage.load("HtmlWithUrlSample.eml");

body_with_url = mail.getHtmlBodyText(true);// body will contain URL
String body_without_url = mail.getHtmlBodyText(false);// body will not contain URL

// In tin nhắn email
System.out.println("Body with URL: " + body_with_url);
System.out.println("Body without URL: " + body_without_url);

Trích xuất thông tin tiêu đề từ một email trong Java

Aspose.Email for Java cũng cho phép bạn đọc thông tin tiêu đề của một email. Sau đây là các bước để thực hiện thao tác này.

Mẫu mã sau đây cho thấy cách đọc tiêu đề của email bằng Java.

// Tạo phiên bản MailMessage bằng cách tải tệp EML
MailMessage message = MailMessage.load("test.eml");

// In ra tất cả các tiêu đề
System.out.println("Printing all Headers:\n\n");
for (int i=0; i< message.getHeaders().size(); i++)
	System.out.println(message.getHeaders().get(i));

Giải mã tiêu đề email bằng Java

Bạn cũng có thể giải mã tiêu đề email bằng các bước sau.

Mẫu mã sau đây cho thấy cách giải mã giá trị tiêu đề email trong Java.

// Tải tin nhắn email
MailMessage mail = MailMessage.load("test.eml");

// Nhận giá trị được giải mã từ tiêu đề
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");

// In giá trị
System.out.println(decodedValue);

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

Bạn có thể yêu cầu giấy phép tạm thời miễn phí để sử dụng API mà không có giới hạn đánh giá.

Bản thử trực tiếp

Sự kết luận

Trong bài này, bạn đã học cách đọc email bằng Java. Hơn nữa, bạn đã thấy cách trích xuất thông tin tiêu đề từ một email. Bạn có thể khám phá thêm về API email Java bằng cách sử dụng tài liệu. Ngoài ra, bạn có thể liên hệ với chúng tôi qua diễn đàn của chúng tôi trong trường hợp có bất kỳ thắc mắc nào.

Xem thêm