Как Outlook узнает, был ли отправлен файл MSG? - PullRequest
0 голосов
/ 29 июня 2019

Если вы начнете писать электронное письмо в Outlook и перетащите его из «Черновиков» на рабочий стол, Outlook откроет его с доступной кнопкой «Отправить» и изменением всех полей.

Аналогично, если вы перетащите полученное электронное письмо на свойна рабочем столе Outlook откроет файл MSG в режиме только для чтения.

Я надеюсь добавить в приложение c # функцию, которая может читать отправленный файл MSG, а затем записывать его обратно в черновом режиме.Пока мне не повезло найти какую-либо информацию по этому вопросу.

1 Ответ

0 голосов
/ 02 июля 2019

Outlook просматривает бит MSGFLAG_UNSENT в свойстве PR_MESSAGE_FLAGS (вы можете увидеть его в OutlookSpy - нажмите кнопку IMessage для сообщения в одной из папок Outlook или кнопку OpenIMsgOnIStg в случае автономного MSG файл).

Outlook не позволит вам изменить этот флаг - свойство MailItem.Sent доступно только для чтения. Более того, этот бит можно установить (если вы используете Extended MAPI в C ++ или Delphi) только до того, как сообщение будет сохранено в первый раз. Это ограничение не распространяется на отдельный файл MSG - бит MSGFLAG_UNSENT может быть установлен или не установлен в любое время.

Если используется Опция является опцией, ее свойство RDOMail . Sent доступно для чтения и записи. Чтобы открыть автономный файл MSG, вы можете использовать метод RDOSession . GetMessageFromMsgFile (возвращает RDOMail объект) - вы можете затем изменить свойство Sent и вызвать RDOMail.Save.

...