收到电子邮件时运行 VBA 代码 - 无法轻松使用 Outlook

收到电子邮件时运行 VBA 代码 - 无法轻松使用 Outlook

我可以就这个问题寻求一些支持吗?

我们的客户有一个 Exchange 2019 服务器(在 Windows Server 2019 上运行),他们希望在特定邮箱收到电子邮件时(全天 24 小时)运行一些 VBA 代码,但是

他们没有可以运行 Outlook 来运行 VBA 的服务器(服务器每天 24 小时可用),并且他们的客户端 PC 可能会关闭

是否有某种方法可以监视邮箱并在收到电子邮件时触发 VBA 代码的运行?

任何帮助和指导都将不胜感激。

谢谢

安迪

答案1

我不确定您可以使用哪些工具;但是,根据我过去的一些经验,我建议使用EWS 托管 API。如果熟悉 PowerShell,可以借鉴EWS Powershell 模块(撰稿人巴特克。虽然我必须主要重写和扩展来自 GitHub 的 EWS 模块,但对于您的目的来说,那里应该有足够的内容(如果您对 PowerShell 足够熟悉)来创建一个连接到邮箱并搜索与模式匹配的消息的脚本,然后在收到某条消息时触发代码。

到位后,从安装了 EWS Managed API 的计算机(可以是服务器)上运行的计划任务调用该脚本。您可能需要在邮箱所有者的帐户下运行该脚本,或者您需要将相关邮箱的 ApplicationImpersonation 配置为运行该脚本的帐户。运行该脚本的帐户必须拥有邮箱,或者是邮件用户。

答案2

您需要向收件箱添加一个事件监听器,用于处理传入的消息。然后重新启动 Outlook,代码才会生效。以下是类似的文章供你参考。

相关内容