2017-08-15 106 views
0

在Outlook Web Add-In中,我試圖攔截髮送電子郵件時觸發的OnSend事件。附件提醒後攔截OnSend事件

我在GitHub中使用這個example,它工作正常。

如果我在電子郵件正文中包含單詞「附件」,並且點擊發送按鈕,OnSend事件首次被觸發,因此我可以對電子郵件的內容進行一些處理。然而,一段時間後,彈出一個模態窗口顯示了此消息:

附件提醒

您可能忘記附加文件。

發送不要發送按鈕。如果點擊發送,OnSend事件被第二次觸發。這一次,重複相同的電子郵件處理將是無用的。所以,我正在尋找一種方法來發現第二個OnSend事件在附件提醒之後被解僱。

有沒有辦法區分第一個和第二個OnSend事件?

回答

0

感謝您的提問,Mhd!這似乎是無意的行爲,實質上是我們將研究修復的缺陷。 ItemSend事件應該與被遺忘的附件檢測很好地相互操作,並且應該僅在檢測發生後才被提出。換句話說,第一個事件不應該被調用。如果在解決此問題之前進行兩次處理,是否會出現問題?

+0

不幸的是,當OnSend事件被觸發時,我向電子郵件正文添加更多內容,這對我來說是一個問題。所以它會被添加兩次。既然您確認了這個問題,我會嘗試記住已發送的項目(使用本地存儲)以避免重複處理。另外我注意到,在附件提醒窗口中單擊**發送**按鈕後,發送了兩次「OnSend」事件(不包括附件提醒之前的第一個事件)https://stackoverflow.com/questions/45489188/onsend-fired-兩次 - 附件提醒/ 45489927?noredirect = 1#comment77976834_45489927 – Mhd

+0

明白了。是的,那麼你確實需要提出一個解決方法。你正在考慮的一個可能會奏效。您也可以嘗試在該項目上設置一個自定義屬性,指出它已被處理,並且當再次引發事件時,首先檢查該屬性,如果設置則忽略該事件。但我不知道你的情況 - 如果用戶取消附件對話框中的發送並修改了郵件內容,會發生什麼情況 - 您需要重新處理郵件嗎? –

+0

我喜歡自定義屬性的想法比本地存儲更好。謝謝!!!如果電子郵件正文已被修改,我必須重新進行處理並根據新的電子郵件正文插入新內容。但是,我必須忽略第一個過程(刪除第一個插入的內容)。我該如何處理這種情況? – Mhd