Мы пытаемся сохранить вложения, выбранные пользователем с помощью Redemption, но наткнулись на имя файла, чтобы избежать несоответствия между VSTO и Redemption. Что мы делаем:
- С помощью контекстного меню вложения сохраните в базе данных индекс и имя файла attachmentSelection [1], а также entryId и storeId сообщения.
- Через некоторое время (возможно, даже после перезапуска Outlook) нам нужно сохранить это вложение в файл. Для этого мы получаем это электронное письмо с Redemption по идентификатору, получаем вложение по индексу (rdoMail.Attachments [index]), а также проверяем совпадение имени файла, поскольку в соответствии с этим: https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.outlook.attachment.index?view=outlook-pia#Microsoft_Office_Interop_Outlook_Attachment_Index свойство index действительно только во время текущего сеанса. Хотя не совсем понятно, что они означают. Может ли это измениться, если электронное письмо уже сохранено и отправлено? Или получил?
- Для ответного электронного письма VSTO Attachment.Filename - «RE Test.msg», а RDOAttachment.Filename - «RE_ Test.msg» (это вложение msg другого электронного письма).
Итак, вопросы:
- почему он другой и где-то задокументирован? Можем ли мы, например, заменить _ на string.Empty для имен файлов Redemption или могут быть другие случаи?
- Или, может быть, есть способ как-то получить RDOAttachment из объекта Outlook Attachment?
- Можем ли мы полагаться на то, что индекс вложений Redemption такой же, как у Outlook?