Работа с вложениями сообщений
Разбор и сохранение вложений
Файлы сообщений Outlook могут содержать одно или несколько вложений. Aspose.Email позволяет разработчикам просматривать вложения в MSG-файле и сохранять их на диске. В этом разделе описывается процесс. В нем также описано, как вставить вложение.
Aspose.Email MapiMessage класс используется для загрузки файла MSG с диска и предоставляет getAttachments() метод, который ссылается на MapiAttachment коллекция объектов, связанная с файлом MSG. MapiAttachment объект также предоставляет методы, выполняющие действия с вложением.
Чтобы сохранить вложения в файле MSG на диск с оригинальным именем и расширением, выполните следующие действия:
- Создайте экземпляр MapiMessage класс для загрузки файла MSG с использованием Load() статический метод.
- Позвоните MapiRecipient class getAttachments() метод получения ссылки на коллекцию MapiAttachment объекты, связанные с файлом MSG.
- Пройдите через MapiAttachmentCollection для отображения содержимого каждого MapiAttachment объект с помощью публичных методов.
- Позвоните MapiAttachment class save() метод сохранения вложения на диск.
Встраивание сообщений в виде вложений
Сообщение Microsoft Outlook может содержать другие сообщения Microsoft Outlook во вложениях в виде обычных сообщений, описанных выше, или встроенных сообщений. MapiAttachmentCollection предоставляет перегруженным участникам метода add для создания сообщений Outlook с обоими типами вложений. Файлы MSG Outlook, встроенные в файл MSG, содержат метод PR_ATTACH_METHOD со значением 5.
Чтение встроенного сообщения из вложения
Вложения MSG: вставка и замена
Aspose.Email API предоставляет возможность вставлять вложения в определенном индексе в родительское сообщение. Он также предоставляет возможность заменять содержимое вложения другим вложением сообщения.
Вставьте вложение MSG в определенное место
Aspose.Email API предоставляет возможность вставлять вложение MSG в родительское сообщение с помощью MapiAttachmentCollection.Insert() method.
Замените содержимое встроенных вложений MSG
Это можно использовать для замены содержимого встроенного вложения новым, используя Replace метод. Однако его нельзя использовать для вставки вложения с PR_ATTACH_NUM = 4 (например) в коллекцию с Collection.count = 2.
Сохранение вложений из сообщения с цифровой подписью
Aspose.Email API предоставляет возможность получить или установить значение, указывающее, будет ли декодировано сообщение с четкой подписью.
Переименовать вложение в MAPIMessage
Aspose.Email позволяет редактировать DisplayName стоимость недвижимости в Вложения 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 class получает значение, указывающее, является ли вложение встроенным или обычным.
Следующий пример кода загружает сообщение электронной почты из файла, а затем извлекает информацию о вложениях, в частности печатает отображаемое имя каждого вложения и указано, находится ли оно в сообщении или нет:
MapiMessage message = MapiMessage.load("fileName");
for (MapiAttachment attach : message.getAttachments()) {
System.out.println(attach.getDisplayName() + ": " + attach.isInline());
}