метод для сохранения вложения на диск.

Microsoft Outlook‑сообщение может содержать другие сообщения Outlook в виде вложений как обычных сообщений, описанных выше, так и встроенных сообщений. Встроенные сообщения как вложения

предоставляет перегруженные варианты метода add для создания сообщений Outlook с двумя типами вложений. Вложенный в MSG файл Outlook MSG содержит PR_ATTACH_METHOD со значением 5.

Aspose.Email MapiMessage Разбор и сохранение вложений MapiRecipient Outlook‑сообщения могут содержать одно или несколько вложений. Aspose.Email позволяет разработчикам перебрать вложения в файле MSG и сохранить их на диск. Эта статья описывает процесс, а также то, как встроить вложение. MapiAttachment класс используется для загрузки файла MSG с диска и раскрывает MapiAttachment объектная коллекция, связанная с файлом MSG. Метод, который ссылается на

объект дополнительно предоставляет методы, выполняющие действия с вложением.

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

MapiAttachmentCollection.Insert()

Чтение встроенного сообщения из вложения MapiAttachmentCollection Встраивание сообщений в виде вложений

Aspose.Email API предоставляет возможность вставить вложение MSG в родительский MSG с помощью

Заменить

метод. Однако его нельзя использовать для вставки вложения с PR_ATTACH_NUM = 4 (например) в коллекцию, где collection.Count = 2.

Вставка и замена вложений MSG

Aspose.Email API предоставляет возможность вставлять вложения по определённому индексу в родительском сообщении. Также есть возможность заменить содержимое вложения другим вложением сообщения. Вставить вложение MSG в конкретное место метод.

Сохранение вложений из цифрово подписанного сообщения

Aspose.Email API предоставляет возможность получить или задать значение, указывающее, будет ли декодировано сообщение с чистой подписью. Заменить содержимое встроенного вложения MSG Это можно использовать для замены содержимого встроенного вложения новыми данными с помощью

класс получает значение, указывающее, является ли вложение встроенным или обычным.

В следующем примере кода загружается сообщение электронной почты из файла, после чего извлекается информация о вложениях, в частности выводится отображаемое имя каждого вложения и является ли оно встроенным в сообщение или нет: 

свойство, указывающее, нужно ли сохранять пустые даты при конвертации сообщения. Этот API появился в Aspose.Email 21.5. Ниже показан фрагмент кода, демонстрирующий, как сохранять пустые даты.

Управление файловыми сообщениями с Aspose.Email.Outlook Отображаемое имя Переименовать вложение в MapiMessage Aspose.Email делает возможным редактировать.

значение свойства в

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

Вложения MapiMessage

В следующем примере кода демонстрируется, как обновить отображаемые имена первого и второго вложений в загруженном Mapi‑сообщении: MapiAttachment.IsInline свойство MapiAttachment Проверить, является ли вложение встроенным или обычным

Разница между встроенными и обычными вложениями заключается в их представлении в письме. Встроенные вложения находятся внутри тела письма и могут быть просмотрены без открытия отдельного файла или загрузки чего‑либо. Обычные вложения — это отдельные файлы, прикреплённые к письму, но не отображаемые непосредственно в теле сообщения; их необходимо загрузить и открыть отдельно.

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

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