Я использую веб-службы Exchange (Exchange Server 2007), чтобы попытаться отправить электронное письмо с кнопками голосования.
Я прочитал этот вопрос / ответ:
Отправить сообщение для голосования
У меня был коллега, использующий Outlook 2007, отправивший мне электронное письмо с простыми кнопками голосования «да / нет» (кнопки отображаются в Outlook, я не отправил ответ), и я могу подтвердить, что это первое письмо в моей папке «Входящие».
Затем я использовал EWS, чтобы получить это электронное письмо и попытаться получить расширенные свойства, относящиеся к электронному письму, чтобы я мог получить двоичный файл, связанный с кнопками голосования, и, таким образом, отправить свое электронное письмо с кнопками голосования.
Вот мой код.
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.Url = new Uri(ConfigurationManager.AppSettings["URL"]);
service.Credentials = new NetworkCredential(
ConfigurationManager.AppSettings["Username"],
ConfigurationManager.AppSettings["Password"],
ConfigurationManager.AppSettings["Domain"]
);
Item foundItem = service.FindItems(WellKnownFolderName.Inbox, new ItemView(10)).Items[0];
ExtendedPropertyDefinition epd = new ExtendedPropertyDefinition(
DefaultExtendedPropertySet.Common,
0x00008520,
MapiPropertyType.Binary
);
object propertyValue = null;
bool outBool;
outBool = foundItem.TryGetProperty(epd, out propertyValue);
outBool
всегда ложно, а propertyValue
всегда остается нулевым.
Когда я ставлю точку останова и смотрю на foundItem
, остальные свойства верны - например, отправитель, строка темы, дата / время отправки и т. д.
Также foundItem.ExtendedProperties
всегда имеет счетчик нуля. Не должно ли быть что-то в этом свойстве?