当前位置: 首页 > 知识库问答 >
问题:

有没有办法通过控制台应用程序C#连接启用Azure AD MFA的outlook邮箱?

何高歌
2023-03-14

我有一个用C#编写的控制台应用程序,我们使用它连接到outlook邮箱,使用exchange服务读取收件箱中的电子邮件。最近,我们用MFA迁移到了Azure AD,在那次更改之后,我的代码抛出了401个未经授权的错误。有没有人可以建议一个变通方法来验证控制台以连接和读取邮件而没有任何用户依赖关系。

使用用户名和密码连接到Outlook的普通WebClient函数。https://outlook.office365.com/ews/exchange.asmx在代码中用作服务对象url。

共有1个答案

闻人飞翼
2023-03-14

使用ADAL.NET或MSAL.NET和OAuth2 authn到EWS:https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-authenticate-an-ews-application-using-oauth,它将处理您设置的任何MFA。(我假设您的应用程序是在用户在场的情况下运行的,因此能够进行身份验证。如果这是一个使用硬编码的用户凭据运行的无人参与的应用程序,那么您将不得不允许该用户不使用MFA或将应用程序更改为使用服务主体登录,仍然使用上面的OAuth2)。

 类似资料:
  • 具有以下邮件配置设置: 以及以下属性: 我得到以下错误: JAVAlang.RuntimeException:javax。邮政MessaginException:无法连接到SMTP主机:SMTP。我们德勤。com,端口:25;嵌套的例外是:java。网SocketException:权限被拒绝: 当我使用gmail作为“发件人”帐户和“收件人”中的Outlook帐户时,代码是一样的。 我试着设置s

  • 问题内容: 您从控制台启动Java程序(也许使用.bat脚本)。我不希望控制台保持可见状态,我想将其隐藏。 有没有简单的方法可以做到这一点?没有JNI? 问题答案: 使用javaw。 http://java.sun.com/javase/6/docs/tooldocs/windows/java.html javaw命令与java相同,除了javaw没有关联的控制台窗口。当您不希望显示命令提示符窗口

  • 我知道Android磨损中的蓝牙调试允许我们在手机中安装应用程序,这些应用程序的android磨损伴侣通过蓝牙安装在手表中。但我想安装正常的android应用程序,而无需任何android磨损组件。我知道如何通过usb做到这一点,但有没有办法使用蓝牙做到这一点?我尝试通过蓝牙连接PC和手表,但无法让adb列出手表。

  • 这个问题似乎被问了多次,但所有答案都与Jenkins Pipeline jobs(插件:workflow job)有关。 我正在将一堆旧的自由式作业从旧的Jenkins独立服务器迁移到分布式Jenkinsenv,我决定将它们转换为Jenkins管道作业(不能使用Blue Ocean,因为SCM是SVN。 无论如何,对于某些作业来说,不希望清理它们的工作空间,因为它们是某种健全/验证作业,而且因为S

  • 问题内容: 我正在用Java和gradle编写控制台应用程序。我正在使用插件,并在中正确配置了必填字段。 在我的主班里,我与有联系。这是问题所在:当我在项目目录中运行时,阅读器不会等待控制台输入。而是在第一次通话时返回。对于我在做什么,这种行为是不可取的。 解决办法是什么?是否有用于gradle的单独的控制台应用程序插件,或者我需要以某种方式调整插件以适合我的需要? 问题答案: 默认情况下,gra

  • 下面是我使用的命令,通过添加配置文件来运行Spring启动应用程序,但我无法从eclipse/st在调试模式下运行Spring启动应用程序,是否有任何方法可以在st/eclipse中指定配置文件并在调试模式下运行应用程序? 运行-Dspring-boot.run.profiles=种子,创建,Dev1,dbH2: from命令提示符 我使用的是eclipse/sts项目- Spring Boot: