Làm việc với Đính Kèm Tin Nhắn
Phân Tích và Lưu Đính Kèm
Các tệp tin nhắn Outlook có thể chứa một hoặc nhiều đính kèm. Aspose.Email cho phép các nhà phát triển lặp qua các đính kèm trong tệp MSG và lưu chúng vào đĩa. Chủ đề này mô tả quy trình. Nó cũng mô tả cách nhúng một đính kèm.
Aspose.Email MapiMessage lớp được sử dụng để tải tệp MSG từ đĩa và cung cấp getAttachments() phương thức tham chiếu tới MapiAttachment bộ sưu tập đối tượng liên quan đến tệp MSG. Các MapiAttachment đối tượng còn cung cấp các phương thức thực hiện các thao tác trên đính kèm.
Để lưu các đính kèm trong tệp MSG vào đĩa với tên và phần mở rộng gốc:
- Tạo một đối tượng của MapiMessage lớp để tải tệp MSG bằng cách sử dụng Load() phương thức tĩnh.
- Gọi MapiRecipient lớp getAttachments() phương thức để lấy tham chiếu tới bộ sưu tập của MapiAttachment đối tượng liên quan đến tệp MSG.
- Lặp qua MapiAttachmentCollection để hiển thị nội dung liên quan tới mỗi MapiAttachment đối tượng thông qua các phương thức công khai của nó.
- Gọi MapiAttachment lớp save() phương thức lưu đính kèm vào đĩa.
Nhúng Tin Nhắn dưới dạng Đính Kèm
Một tin nhắn Microsoft Outlook có thể chứa các tin nhắn Microsoft Outlook khác trong phần đính kèm, dưới dạng tin nhắn thông thường như đã mô tả ở trên, hoặc tin nhắn nhúng. Các MapiAttachmentCollection cung cấp các thành viên quá tải của phương thức add để tạo tin nhắn Outlook với cả hai loại đính kèm. Các tệp Outlook MSG được nhúng trong một tệp MSG chứa PR_ATTACH_METHOD với giá trị 5.
Đọc Tin Nhắn Nhúng từ Đính Kèm
Chèn và Thay Thế Đính Kèm MSG
Aspose.Email API cung cấp khả năng chèn đính kèm tại chỉ số cụ thể trong tin nhắn cha. Nó cũng cung cấp tiện ích để thay thế nội dung của một đính kèm bằng đính kèm của tin nhắn khác.
Chèn Đính Kèm MSG tại Vị Trí Cụ Thể
Aspose.Email API cung cấp khả năng chèn một đính kèm MSG vào MSG cha bằng cách sử dụng MapiAttachmentCollection.Insert() phương thức.
Thay Thế Nội Dung Đính Kèm MSG Nhúng
Điều này có thể được sử dụng để thay thế nội dung đính kèm nhúng bằng các nội dung mới bằng cách sử dụng Thay Thế phương thức. Tuy nhiên, nó không thể được sử dụng để chèn đính kèm với PR_ATTACH_NUM = 4 (ví dụ) vào bộ sưu tập có collection.Count = 2.
Lưu Đính Kèm từ Tin Nhắn Được Ký Số
Aspose.Email API cung cấp khả năng lấy hoặc đặt giá trị cho biết liệu tin nhắn được ký rõ sẽ được giải mã hay không.
Đổi Tên Đính Kèm trong MapiMessage
Aspose.Email cho phép chỉnh sửa Tên hiển thị giá trị thuộc tính trong đính kèm MapiMessage.
Đoạn mã mẫu dưới đây minh họa cách cập nhật tên hiển thị của đính kèm thứ nhất và thứ hai trong Mapi message đã tải:
MapiMessage msg = MapiMessage.load(fileName);
msg.getAttachments().get_Item(0).setDisplayName("New display name 1");
msg.getAttachments().get_Item(1).setDisplayName("New display name 2");
Kiểm Tra Đính Kèm Có Phải Nội Tuyến Hay Thông Thường
Sự khác biệt giữa đính kèm nội tuyến và đính kèm thông thường là cách chúng được trình bày trong email. Đính kèm nội tuyến được nhúng trong phần thân email và có thể xem mà không cần mở tệp riêng hoặc tải xuống bất kỳ thứ gì. Đính kèm thông thường, ngược lại, là các tệp riêng biệt được đính kèm vào email nhưng không hiển thị trực tiếp trong phần thân tin nhắn và cần được tải xuống và mở bên ngoài. MapiAttachment.IsInline thuộc tính của MapiAttachment lớp nhận giá trị cho biết đính kèm là nội tuyến hay thông thường.
Đoạn mã mẫu dưới đây tải một tin nhắn email từ tệp và sau đó lấy thông tin về các đính kèm, cụ thể là in tên hiển thị của mỗi đính kèm và liệu nó có phải là nội tuyến trong tin nhắn hay không:
MapiMessage message = MapiMessage.load("fileName");
for (MapiAttachment attach : message.getAttachments()) {
System.out.println(attach.getDisplayName() + ": " + attach.isInline());
}