Windows服务(守护程序)通过IMAP访问Microsoft 365电子邮件帐户

时间:2020-07-30 19:23:13

标签: oauth-2.0 imap microsoft365

我有一个Windows服务,可以将其配置为使用基本身份验证连接到IMAP或POP3电子邮件帐户,并下载电子邮件以进行自动处理。随着对Microsoft 365的基本身份验证的消失,我想添加对OAuth身份验证的支持。

使用信息here

  • 我在Azure中创建了一个应用注册,并添加了IMAP.AccessAsUser.All权限。
  • 我下载了C#快速启动Windows桌面应用程序,并将“ https://outlook.office.com/IMAP.AccessAsUser.All”添加到了所请求的范围。
  • 我运行了桌面应用程序,登录到我的Microsoft帐户并捕获了访问令牌。
  • 我修改了一个测试工具,以便可以插入访问令牌,将其与user =和auth =值连接起来,然后对字符串进行base64编码。
  • 测试工具发送AUTHENTICATE XOAUTH2并成功进行身份验证。
  • 测试工具能够使用IMAP命令提取电子邮件。

我的Windows服务无法启动浏览器并让用户登录。我下载了快速启动Daemon应用程序。它不会让我请求IMAP.AccessAsUser.All范围。无论如何插入它生成的访问令牌,都不会使用IMAP进行身份验证。

在Microsoft网页上提供以下内容:

不支持通过OAuth2客户端凭据授予流对IMAP,POP,SMTP AUTH协议进行OAuth访问。如果您的应用程序需要对Microsoft 365组织中所有邮箱的持久访问,我们建议您使用Microsoft Graph API,这些API允许没有用户的访问,启用细化权限,并使管理员将这种访问范围限定于一组特定的邮箱。

如果我希望我的服务下载Microsoft 365电子邮件,我是否必须使用Microsoft Graph API?这不仅是尝试采用另一种身份验证方法,还需要做更多的工作,因此在我走这条路之前,我想确保这是我唯一的选择。

0 个答案:

没有答案
相关问题