我想为Microsoft outlook创建一个外接程序,它将在收到的每个新电子邮件上执行其代码。我已经学习了一些教程,这些教程都展示了如何创建一个按钮来启动一个操作,然后执行一个javascript文件。我想知道,如果我可以创建一个插件,将执行每一个新的电子邮件收到,而不需要用户点击一个按钮。
附言:我见过你可以使用VSTO创建插件,那么这是我在后台运行代码的唯一选择吗?
发布于 2018-06-22 07:48:34
Web外接程序在应在资源管理器窗口中打开或选择的特定项的上下文中运行。您不能让它们自动为每个传入的项目工作。
要使其正常工作,您需要开发一个COM外接程序(例如,基于VSTO的外接程序),您应该在其中处理Application类的NewMailEx
事件。当新邮件到达收件箱时,在进行客户端规则处理之前触发此事件。您可以使用EntryIDCollection
数组中返回的条目ID来调用NameSpace.GetItemFromID方法并处理该项。请谨慎使用此方法,以将对Outlook性能的影响降至最低。但是,根据客户端计算机上的设置,在新邮件到达收件箱后,垃圾邮件筛选和客户端规则等将新邮件从收件箱移动到另一个文件夹的过程可能会异步发生。
发布于 2018-06-22 07:55:24
在使用JS时,您可以使用webhooks在发生新电子邮件等事件时获得HTTP通知。
https://developer.microsoft.com/en-us/graph/docs/concepts/webhooks
https://stackoverflow.com/questions/50960504
复制相似问题