Установите MailItem как отправленный перед вызовом SaveAs в Outlook Addin с C # - PullRequest
1 голос
/ 10 января 2012

Я создаю надстройку для 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 открывает его как сообщение, которое все еще создается, и пользователь может очень легко снова нажать кнопку «Отправить».

Есть ли способ пометить, что элемент был отправлен до того, как он был сохранен, поэтому при открытии после того, как факт открывается как читаемое, а не составное письмо?

1 Ответ

1 голос
/ 10 января 2012

Взгляните на этот пост (и дополнительно на последний ответ на этой странице), это может вам помочь.

(Используется событие ItemAdd )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...