我可以就这个问题寻求一些支持吗?
我们的客户有一个 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,代码才会生效。以下是类似的文章供你参考。