2017-08-03 95 views
10

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

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

如果我有單詞「附件」中的電子郵件的身體,我點擊發送按鈕,OnSend事件被觸發一次,並且彈出模態窗口顯示了此消息:

附件提醒

您可能忘記附加文件。

發送不要發送按鈕。如果點擊發送,OnSend事件被觸發兩次:點擊附件提示中的Send按鈕後點擊2次。我期待只有一個事件像第一個發送

如何讓OnSend事件在附件提醒後觸發一次?

回答

4

這似乎是無意的行爲,本質上是我們將研究修復的缺陷。 ItemSend事件應該與被遺忘的附件檢測很好地相互操作,並且只應該在任何電子郵件中並且僅在被遺忘的附件檢測發生之後被提升一次。同時,您需要提出解決方法。根據您嘗試執行的操作,您可以使用custom properties API來設置一個屬性,指出該消息已被處理,以避免重複處理。

1

您不能 - 如果消息提交被取消並且消息被重新提交,那麼該事件會再次被觸發。您可以擁有處理過的消息條目ID列表 - 在OnSend觸發時將該ID添加到該列表中,然後在下次事件再次觸發時檢查消息是否在該列表中。

+0

如果我在附件提醒中點擊發送按鈕,OnSend將會觸發2次(不包括第一個OnSend事件) – Mhd

+0

因此不會有入口ID列表工作嗎? –

+0

不是要處理這個問題,而是關於「OnSend」發射兩次的事實不是預期的行爲。當我說兩次時,這意味着在點擊附件提醒中的發送按鈕之後沒有計算第一次OnSend(在附件提醒之前),這個預計只會觸發一次的2次。 – Mhd