Я использую веб-службы 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
всегда имеет нулевой счетчик. Разве не должно быть чего-то в этой собственности?