Trích xuất Nội Dung Tin Nhắn từ Email
Hiển thị Thông tin Email trên Màn hình
Cái MailMessage đại diện cho một tin nhắn email và cho phép các nhà phát triển truy cập các thuộc tính của tin nhắn email. Thông tin tiêu đề (được thảo luận trong Trích xuất Tiêu đề Emailcó thể được trích xuất và thao tác theo các cách khác nhau. Bài viết này giải thích cách hiển thị thông tin tiêu đề email đã chọn và thân email trên màn hình.
- Tạo một thể hiện của MailMessage.
- Tải một tin nhắn email vào thể hiện MailMessage.
- Hiển thị nội dung email trên màn hình.
Mã dưới đây minh họa cách tải một tin nhắn email và hiển thị nội dung của nó - người gửi, người nhận, chủ đề và thân email - trên màn hình.
Lấy Thời Gian Tin Nhắn
Cái MailMessage lớp có thể được sử dụng để truy xuất ngày của tin nhắn ở múi giờ UTC hoặc múi giờ địa phương. Thông tin này có thể được tóm tắt như sau:
- MailMessage.getDate() - trả về ngày ở múi giờ UTC
- MailMessage.getLocalDate() - trả về ngày trong múi giờ địa phương
- MailMessage.isLocalDate Trả về true, nếu MailMessage.getDate() nằm trong múi giờ địa phương
Trích xuất Tiêu đề Email
Tiêu đề email đại diện cho một tập hợp các trường tiêu đề chuẩn được định nghĩa bởi Internet và RFC được bao gồm trong các tin nhắn email trên Internet. Tiêu đề email có thể được xác định bằng MailMessage lớp. Các loại tiêu đề phổ biến được định nghĩa trong HeaderType lớp. Đây là một lớp sealed hoạt động giống như enumeration bình thường.
Để trích xuất tiêu đề từ một email, thực hiện các bước sau:
- Tạo một thể hiện của lớp MailMessage.
- Tải một tin nhắn email trong thể hiện của lớp MailMessage.
- Sau khi một tin nhắn email đã được tải, chúng ta sẽ nhận được nội dung thô của nó. Lớp MailMessage tự chứa các thuộc tính như From, To, Cc, Subject, v.v. Các thuộc tính này có thể được trích xuất từ tiêu đề.
- Hiển thị nội dung thô.
Lấy Các Giá Trị Header Đã Giải Mã
Lấy và Chỉnh Sửa Header Disposition của Tài Nguyên Liên Kết
Tài nguyên liên kết có thể được truy cập và thao tác một cách lập trình trong đối tượng tin nhắn email. The getContentDisposition() phương thức của LinkedResource lớp lấy header Content-Disposition. Đoạn mã mẫu dưới đây minh họa cách truy cập và chỉnh sửa tên tệp của tài nguyên liên kết:
MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");
Lấy nội dung HTML dưới dạng văn bản thuần
Cái MailMessage lớp cung cấp tính năng trích xuất nội dung HTML của tin nhắn dưới dạng văn bản thuần. Lớp MailMessage cung cấp một GetHtmlBodyText phương thức trả về nội dung HTML dưới dạng văn bản thuần. Phương thức GetHtmlBodyText nhận một tham số kiểu boolean cho biết nội dung có nên chứa URL hay không. Khi truyền tham số là true, nội dung HTML sẽ chứa các URL.
Đoạn mã dưới đây minh họa việc sử dụng phương thức GetHtmlBodyText để trích xuất nội dung HTML của email dưới dạng văn bản thuần.
Truy Xuất Địa Chỉ X.500 Exchange từ Email
Aspose.Email for Java cho phép bạn truy cập địa chỉ X.500 Exchange trực tiếp thông qua MailAddress lớp. Với X500Address thuộc tính, bạn có thể truy xuất địa chỉ email ở định dạng Exchange X.500 khi có. Đoạn mã mẫu dưới đây cho thấy cách tải một email và lấy địa chỉ X.500 của người gửi:
MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();
Nếu địa chỉ X.500 tồn tại, nó sẽ được trả về dưới dạng chuỗi và có thể được sử dụng cho việc xử lý tiếp theo hoặc ghi log trong các ứng dụng tương tác với hệ thống dựa trên Exchange.
Trích Xuất và Nhúng Hình Ảnh Liên Kết làm Tệp Đính Kèm trong Email HTML
Aspose.Email ExtractHTMLBodyResourcesAsAttachments phương thức của HtmlSaveOption lớp xác định việc có trích xuất tài nguyên nội dung HTML dưới dạng tệp đính kèm hay không. Do đó, bạn có thể trích xuất nội dung có liên kết hình ảnh từ nội dung HTML và nhúng nó như một tệp đính kèm trong tin nhắn MIME. Các hình ảnh liên kết được giữ lại và liên kết đúng với email, cải thiện tính toàn vẹn nội dung và khả năng truy cập ngoại tuyến.
Đoạn mã mẫu dưới đây minh họa cách thực hiện nhiệm vụ này:
MailMessage mailMessage = MailMessage.load("input.eml");
HtmlSaveOptions options = new HtmlSaveOptions();
options.setExtractHTMLBodyResourcesAsAttachments(true);
options.setResourceHtmlRenderingHandler(new ResourceHtmlRenderingHandler() {
public void invoke(final Object sender, final ResourceHtmlRenderingEventArgs e) {
System.out.println(e.getPathToResourceFile() + " " + ((Attachment)sender).getContentId());
}
});