我想为Microsoft Outlook创建一个加载项,该加载项将在收到的每一封新电子邮件上执行其代码。我遵循了一些教程,所有教程都展示了如何创建一个按钮来启动一个动作然后执行一个javascript文件。我想知道是否可以创建一个加载项,该加载项将在收到的每一封新电子邮件上执行,而无需用户单击按钮。
P.S。我已经看到您可以使用VSTO创建加载项,所以这是我在没有用户输入的情况下在后台运行代码的唯一选择吗?
答案 0 :(得分:0)
Web加载项在应在浏览器窗口中打开或选择的特定项目的上下文中运行。您不能让它们自动为每个传入项目工作。
要使该工作正常进行,您需要开发一个COM加载项(例如,基于VSTO的加载项),在其中应处理Application类的NewMailEx
事件。当新消息到达“收件箱”时以及客户端规则处理发生之前,该事件触发。您可以使用EntryIDCollection
数组中返回的Entry ID来调用NameSpace.GetItemFromID方法并处理该项目。请谨慎使用此方法,以最小化对Outlook性能的影响。但是,根据客户端计算机上的设置,新邮件到达收件箱后,垃圾邮件过滤和客户端规则等过程会将新邮件从收件箱移至另一个文件夹,这些过程可能会异步发生。
答案 1 :(得分:0)
使用JS时,可以在发生新电子邮件之类的事件时使用webhooks来获取HTTP通知。
https://developer.microsoft.com/en-us/graph/docs/concepts/webhooks