У меня есть экземпляр Microsoft.Office.Interop.Outlook.Application
, и я добавляю itemSendHandler
к Application.itemSend
Application.itemSend += itemSendHandler
Я предполагаю, что внутри itemSendHandler
электронное письмо уже должно быть отправлено и сообщениеИдентификатор должен существовать для электронной почты.Тем не менее следующий код выдает нулевое значение messageId
:
private void itemSendEventHandler(object sentItem, ref bool Cancel)
}
string PR_INTERNET_MESSAGE_ID_W_TAG = "http://schemas.microsoft.com/mapi/proptag/0x1035001F";
PropertyAccessor propertyAccessor = ((MailItem)sentItem).PropertyAccessor;
// This is null? Why?
string messageId = (string)propertyAccessor.GetProperty(PR_INTERNET_MESSAGE_ID_W_TAG);
ThisAddIn.attemptToReleaseComObject(propertyAccessor);
{
Но когда я проверяю отправленный элемент сразу после этого, через код или с помощью инструмента (например, OutlookSpy или MFCMAPI), свойство существует.Почему messageId
равен нулю во время обработки события отправки?