Управляемый API Exchange EWS - в почтовом уведомлении, не подлежащем отправке, отсутствует свойство DateTimeReceived - PullRequest
5 голосов
/ 24 мая 2011

При поиске элементов из Exchange 2010 Server journaling inbox появляются некоторые уведомления о недоставленных письмах.

При обработке этих писем и попытке прочитать свойство DateTimeReceived я получаю ServiceObjectPropertyException с ошибкой:

You must load or assign this property before you can read its value.

Есть ли способ идентифицировать такие электронные письма или загрузить свойство DateTimeReceived (даже если оно будет нулевым)?

Мой код выглядит примерно так:

FindItemsResults<Item> mails = folder.FindItems(searchConditions, countConstraint);
foreach (Item item in mails)
{
  EmailMessage email = (EmailMessage)item;
  email.Load();
  DateTime receivedTime = email.DateTimeReceived;
  ....
}

Эти сообщения электронной почты поступают из почтового ящика журналов, в котором имеется копия отслеживаемого почтового ящика при каждом отправленном на него электронном письме.

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

Через MFCMapi я смог просмотреть сообщение, и свойство PR_MESSAGE_DELIVERY_TIME установлено.

Ответы [ 2 ]

4 голосов
/ 24 мая 2011

Я не думаю, что DateTimeReceived считается первоклассным свойством, поэтому вам нужно загрузить письмо с определенными свойствами.

email.Load(new PropertySet(ItemSchema.DateTimeReceived));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...