如何在Azure上设置Outlook通知webhook?

时间:2016-08-30 01:15:51

标签: azure azure-active-directory webhooks office365api azure-ad-graph-api

目前我们已在Office 365中订阅。所有用户都可以访问Outlook电子邮件。我们计划使用守护程序或服务器应用程序构建批处理作业(如此处所述https://azure.microsoft.com/en-us/documentation/articles/active-directory-authentication-scenarios/#daemon-or-server-application-to-web-api)。批处理作业作为守护程序服务的原因是因为我们想要访问所有用户电子邮件,过滤并转发到具有一个应用程序标识的另一个邮件服务器。

  • 问题1:我们如何在Azure中授予应用以访问所有用户的电子邮件?

作为替代方案,我们还可以构建一个订阅入站/出站电子邮件的webhook,一旦我们在系统中收到通知,我们就可以过滤/转发到另一个邮件服务器。 https://dev.outlook.com/restapi/concepts/webhooks

  • 有没有办法实现,而不是构建作业和调用REST API 在Azure中为所有用户注册webhook并重定向 我们系统的网址?

这将使我们免于构建必须每天运行的批处理作业以获取所有传入的电子邮件然后进行过滤。如果我们可以整合webhook,我们必须构建的只是过滤器/前进部分。

2 个答案:

答案 0 :(得分:0)

如果要使用Office 365重定向特定邮件,可以通过一种简单的方法在Exchange管理中心配置邮件流

例如,我们可以将规则配置为重定向到您想要的邮箱,如下所示: enter image description here

Here是邮件流规则的文档供您参考。

答案 1 :(得分:0)

Webhooks仅支持用户级凭据。即每个用户必须授予应用程序代表用户请求数据的权限。但是,在我们的案例中,我们需要收到所有用户电子邮件的通知才能到达我们的应用程序,这在撰写本文时是不可能的(2016年9月)。

我们前进的解决方案是构建一个批处理作业来提取所有数据。管理员必须提供对应用程序的访问权限(应用程序将具有自己的标识)并发出后续请求。为了让应用程序识别自己,我们使用了X.509证书

我们关注了this documentationthis