Outlook 2010 устанавливает флаг отправленной почты перед сохранением с использованием погашения

Фон:

Я успешно преобразовал электронные письма из более старой (проприетарной системы электронной почты) в сообщения Outlook (2010). Эти преобразованные электронные письма сохраняются на сервере (не на сервере Exchange, а только на файловом сервере) в виде файлов .msg. Я пишу приложение, которое будет отображать эти сохраненные сообщения для просмотра пользователем (автономное приложение. Не Outlook). Проведя несколько тестов и просмотрев документацию по Outlook, я понял, что сохраненные сообщения будут отображаться в режиме черновиков / составления. Я также понимаю, что мне нужно установить флаг отправления (и другие, возможно, другие поля), прежде чем я когда-либо сохраню созданное сообщение в первый раз (возможно, с использованием расширенного MAPI, а не объектной модели Outlook). Это заставит сообщения выглядеть так, как будто они были отправлены. В настоящее время я рассматриваю выкуп только как вариант (кажется, отличный инструмент). Я использую C #, Outlook 2010, redemption dll для своего приложения.

Решения, которые я ищу:

  1. пройдитесь по преобразованным сообщениям, создайте новый элемент. Затем используйте погашение для создания SafeMailItem и скопируйте необходимые поля в почтовый элемент Redemption и установите соответствующие флаги.

    Вопросы к решению 1:

    • a) The converted messages could also be emails sent to us from users outside our exchange server GAL. It appears as though Redemption doesn't allow sentonbhalfof(Read Only in redemption) to be set as the outlook object model does. Has anyone had a similar issue and what have you tried as a work around?
  2. Использование расширенного MAPI для создания сообщений и установки необходимых свойств.

    Вопросы к решению 2:

    a) Кто-нибудь использовал расширенный MAPI для создания сообщений Outlook (файлов .msg) и установки необходимых свойств отправленных? Если вы не против включить пример или ссылку на пример, мы будем очень признательны.

Буду признателен за любой вклад, который поможет (обходные пути, рекомендации, критика) в том, что я пытаюсь достичь. Спасибо, что нашли время прочитать мой вопрос.


person john    schedule 27.08.2014    source источник


Ответы (1)


Зачем вам нужен объект SafeMailItem? Он работает вместе с объектной моделью Outlook (вам нужно установить свойство SafeMailItem.Item)? Объекты Safe * Item предоставляют только свойства и методы, заблокированные объектной моделью Outlook.

Почему бы не использовать семейство объектов RDO? Используйте RDOSession .GetMessageFromMsgFile (возвращает RDOMail), установите для свойства RDOMail.Sent значение true, затем вызовите RDOMail.Save.

person Dmitry Streblechenko    schedule 28.08.2014
comment
Спасибо @DmitryStreblechenko. - person john; 02.09.2014