Установка свойств при составлении почты Outlook без принудительного использования TNEF и ссылки на эти свойства после отправки
У меня возникла проблема, аналогичная той, которая описана в этом ранее заданном вопросе, но я ищу немного более подробную информацию в ответе, так как мой недостаток опыта в этой области не позволяет мне заполнить некоторые пробелы:
Пометьте Outlook MailItem идентификатором перед отправкой, не вызывая отправку в формате TNEF (RTF).
Как и тот, кто задает этот вопрос, я хотел бы установить свойство пользователя, скажем, с именем "XXXX", для MailItem во время его создания пользователем, чтобы при последующем посещении пользователем того же MailItem в папке "Отправленные". Я мог бы снова прочитать значение свойства "XXXX".
Мои дополнительные вопросы будут следующими:
Дмитрий Стребченко предлагает использовать MailItem.PropertyAccessor.SetProperty, но везде, где я вижу это, я вижу людей, использующих ссылку на схему для представления свойства. Какой будет правильная ссылка на схему, если я хочу, чтобы мое свойство все еще называлось "XXXX"? Другими словами, какой правильный синтаксис использовать в предложении Дмитрия?
Я понял, что мог бы использовать вызов ".GetProperty", чтобы позже прочитать свойство из "Отправленных", но проблема в том, что наша надстройка существует уже много лет, и отправленные пользователями элементы уже полны MailItems с оригинальным User Property ". ХХХХ "в них. Смогу ли я по-прежнему использовать UserProperties для получения свойства "XXXX", даже если я буду использовать.PropertyAccessor.SetProperty для их установки?
В качестве альтернативы, если я продолжал использовать исходный код для установки UserProperties при составлении сообщения, но затем я использовал.PropertyAccessor.SetProperty (" http://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000- 000000000046} / 8582000B ", false) во время ItemSend, как предполагает оригинальный постер, тогда я понимаю, что UserProperties не отправляются с сообщением, что мне подходит, но будут ли они по-прежнему доступны при повторном просмотре сообщения в Папка "Отправленные"? Евгений Астафьев предполагает, что этот вызов.SetProperty безопасно использовать, но он не уточняет, влияет ли это на то, что происходит с сообщением в конце Отправителя.
Моим личным предпочтением было бы решение, которое бы а) позволяло мне отправлять элемент, не заставляя Outlook каким-либо образом отправлять сообщение в каком-либо конкретном формате, и б) иметь возможность продолжать получать доступ к свойствам в почтовых ящиках пользователей, как у нас всегда есть через UserProperties MailItem, но я знаю, что я могу просить что-то невозможное здесь.
1 ответ
- Вам нужно свойство в пространстве имен PS_INTERNET_HEADERS. Например
http://schemas.microsoft.com/mapi/string/{00020386-0000-0000-C000-000000000046}/x-my-prop
, - Да, если вы указали полное имя DASL.
- Да, свойство пользователя по-прежнему будет находиться в папке "Отправленные".