我有一個使用Microsoft.Office.Interop.Outlook
互操作程序集的.NET應用程序。Outlook郵件項目實際關閉時的事件
應用程序將打開一個新的Outlook MailItem
,然後想記錄日誌條目如果電子郵件被髮送(通過用戶點擊發送),或知道它不發送關閉(或保存爲草稿或丟棄)。
通過訂閱ItemEvents_10_Event.Send
事件,捕獲物品發送時可以輕鬆完成。
但是,爲了捕獲物品何時關閉,我只能找到ItemEvents_10_Event.Close
事件。但是,此事件在項目關閉時觸發ing,而不是項目關閉時ed。更糟糕的是,用戶仍然有機會在之後取消動作。會發生什麼是:
- 我的應用程序打開新的
MailItem
。 - 用戶單擊關閉按鈕。
ItemEvents_10_Event.Close
被解僱。- 控制權返回到Outlook,其中然後顯示Outlook的「您要保存更改(是/否/取消)」對話框。
- 用戶按下取消。 (我沒有收到通知)
- 用戶然後可以做他們想做的任何事情,包括髮送電子郵件或再次關閉它。
有沒有辦法要麼:
- 訂閱這個事件,通知我,當該項目是CLOS 版,不關閉? (最好)
- 或者,知道用戶何時在上述場景中按Cancel? (一劈,但它會做)
獎金將是,如果我能區分如果電子郵件關閉和廢棄 VS保存爲草稿。
檢查草稿文件夾和發送的文件夾如何?這將消除捕捉事件的需要。我認爲每個獨特的項目都有一些可以跟蹤的UUID。 – 2013-02-17 08:51:53
@BurhanKhalid這是一個不錯的選擇,我想我必須檢查*所有*草稿文件夾和發送的項目文件夾,如果用戶有多個。我怎麼能知道用戶何時決定關閉並放棄該消息? – 2013-02-17 08:54:28
如果郵件被丟棄,它將不在草稿或已發送郵件中;你甚至不會在刪除的項目文件夾中找到它。 – 2013-02-17 08:57:36