Робота з вкладеннями повідомлень

Розпарсинг та збереження вкладень

Файли повідомлень Outlook можуть містити одне або кілька вкладень. Aspose.Email дозволяє розробникам перебирати вкладення у файлі MSG і зберігати їх на диск. У цьому розділі описується процес. Також описано, як вбудувати вкладення.

Aspose.Email MapiMessage клас використовується для завантаження файлу MSG з диска і надає getAttachments() метод, який посилається на MapiAttachment колекція об’єктів, пов’язана з файлом MSG. Метод MapiAttachment об’єкт додатково надає методи, які виконують дії над вкладенням.

Щоб зберегти вкладення у файлі MSG на диск із оригінальною назвою та розширенням:

  1. Створіть екземпляр MapiMessage клас для завантаження файлу MSG за допомогою Load() статичний метод.
  2. Викличте MapiRecipient клас getAttachments() метод для отримання посилання на колекцію MapiAttachment об’єктів, пов’язаних з файлом MSG.
  3. Перебрати MapiAttachmentCollection для відображення вмісту щодо кожного MapiAttachment об’єкт через його публічні методи.
  4. Викличте MapiAttachment клас save() метод для збереження вкладення на диск.  

Вбудовування повідомлень як вкладень

Повідомлення Microsoft Outlook може містити інші повідомлення Microsoft Outlook у вигляді вкладень, як звичайні повідомлення, описані вище, так і вбудовані повідомлення. Методи MapiAttachmentCollection надає перевантажені варіанти методу add для створення повідомлень Outlook з обох типів вкладень. Outlook MSG файли, вбудовані у MSG файл, містять PR_ATTACH_METHOD зі значенням 5.

Читання вбудованого повідомлення з вкладення

Вставка та заміна MSG вкладень

Aspose.Email API надає можливість вставляти вкладення у вказаний індекс батьківського повідомлення. Він також забезпечує можливість заміняти вміст вкладення іншим повідомлення‑вкладенням.

Вставка MSG вкладення у вказане місце

Aspose.Email API надає можливість вставити MSG вкладення у батьківський MSG за допомогою MapiAttachmentCollection.Insert() метод.

Замінити вбудований вміст MSG вкладення

Це можна використати для заміни вбудованого вмісту вкладення новим за допомогою Замінити метод. Проте його не можна використати для вставки вкладення з PR_ATTACH_NUM = 4 (наприклад) у колекцію, у якої collection.Count = 2.

Зберегти вкладення з цифрово підписаного повідомлення

Aspose.Email API надає можливість отримати або встановити значення, що вказує, чи буде декодовано чисто підписане повідомлення. 

Перейменувати вкладення у MapiMessage

Aspose.Email робить можливим редагування НазваВідображення значення властивості в Вкладення MapiMessage.

Наведений приклад коду демонструє, як оновити назви першого та другого вкладень у завантаженому Mapi‑повідомленні:

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");

Перевірити, чи є вкладення вбудованим чи звичайним

Різниця між вбудованими та звичайними вкладеннями полягає у їхньому представлення у листі. Вбудовані вкладення вбудовані в тіло листа і їх можна переглянути без відкриття окремого файлу чи завантаження. Звичайні вкладення є окремими файлами, які прикріплені до листа, але не відображаються безпосередньо в тілі повідомлення і їх треба завантажувати та відкривати окремо. MapiAttachment.IsInline властивість MapiAttachment клас отримує значення, що вказує, чи є вкладення вбудованим чи звичайним.

Наведений приклад коду завантажує електронний лист з файлу та отримує інформацію про вкладення, зокрема виводить назву кожного вкладення та чи є воно вбудованим у повідомлення.

MapiMessage message = MapiMessage.load("fileName");

for (MapiAttachment attach : message.getAttachments()) {
    System.out.println(attach.getDisplayName() + ": " + attach.isInline());
}