Я создаю надстройку для Outlook 2010, чтобы интегрировать ее с некоторым программным обеспечением для бизнеса и перехватил событие ItemSend.Я проверяю, является ли это MailItem, и если это так, я вызываю функцию SaveAs, чтобы сохранить ее как MSG-файл в файловой системе (во временной папке пользователя).
void Application_ItemSend(object Item, ref bool Cancel)
{
if(Item is Outlook.MailItem)
{
Outlook.MailItem mailitem = (Outlook.MailItem)Item;
string filename = "somefilename.msg";
string path = System.IO.Path.GetTempPath();
string fullPathName = path+filename;
mailitem.SaveAs(fullPathName, Outlook.OlSaveAsType.olMSG);
}
}
Я продолжаю читатьсодержимое файла и отправить файл на сервер с помощью веб-сервисов.Все работает нормально.
Проблема, с которой я столкнулся, заключается в том, что если я иду и открываю сохраняемый файл, то Outlook открывает его как сообщение, которое все еще создается, и пользователь может очень легко снова нажать кнопку «Отправить».
Есть ли способ пометить, что элемент был отправлен до того, как он был сохранен, поэтому при открытии после того, как факт открывается как читаемое, а не составное письмо?