在Outlook Web Add-In中,我试图拦截发送电子邮件时触发的OnSend
事件。
我在GitHub中使用了这个example,它运行正常。
如果我在电子邮件正文中包含“附件”一词,然后点击发送按钮,OnSend
事件将被触发一次,弹出模式窗口会显示此消息:
附件提醒
您可能忘记附加文件。
发送和不发送按钮。如果点击发送,OnSend
事件会被点击两次:点击附件提醒中的Send
按钮后两次。我只期待一个事件,比如第一个发送。
如何在附件提醒后点击OnSend
次事件?
答案 0 :(得分:4)
这似乎是无意的行为,本质上是我们将要修复的缺陷。 ItemSend事件应该很好地与忘记的附件检测进行操作,并且只应该针对任何电子邮件提出一次,并且仅在忘记附件检测发生之后。与此同时,您需要提出一种解决方法。根据您要执行的操作,您可以使用custom properties API设置一个属性,指示已经处理了邮件以避免重复处理。
答案 1 :(得分:1)
您无法 - 如果取消了邮件提交,然后重新提交邮件,则会再次触发该事件。您可以拥有一个已处理的消息条目ID列表 - 在OnSend触发时将id添加到该列表中,然后在下次再次触发事件时检查该消息是否在该列表中。