通过 windows 表单应用程序阅读来自在线交换 (Office 365) 的电子邮件
Read emails from exchange online (Office 365) through windows forms application
我正在尝试通过 windows 表单应用程序从我的 O365 邮箱中读取电子邮件。我希望我的应用程序使用我的用户名和密码从 O365 邮箱读取电子邮件。
是否可以在不在 Azure 上注册应用程序的情况下访问 O365 api? (仅使用用户凭据)
我在 msdn 上关注了这篇文章,https://msdn.microsoft.com/en-us/library/office/dn567668(v=exchg.150).aspx
我在这一行中遇到问题:
result = context.AcquireToken(resourceId, ClientID, _returnUri); // parameters are no longer valid in this method
是的,您可以使用 Exchange web service API。它专为客户端应用程序而设计。跟着link,你可以找到很多例子。
需要注意的是:创建服务客户端需要指定Exchange Server的版本,在线exchange应该是ExchangeVersion.Exchange2013_SP1
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
(第二个)更新:
自 2021 年 3 月 18 日起 - Exchange Web 服务基本身份验证的停用已暂停,直至另行通知。请看最新的附件link.
UPDATE - Exchange Online deprecating Basic Authentication
(第一个)更新:
Microsoft 于 2020 年 4 月 3 日宣布,鉴于当前的 COVID-19 危机,Exchange Web 服务将继续照常运行至 2021 年下半年 租户仍在积极使用它.
We will continue to disable Basic Authentication for newly created
tenants by default and begin to disable Basic Authentication in
tenants that have no recorded usage starting October 2020
Basic Authentication and Exchange Online - April 2020 Update
以下 post 仍然适用于更改,它刚刚被 post 推迟,没有确切的日期。有关详细信息,请参阅上面的 link。
原版:
考虑到这是一个相当受欢迎的问题,在 Google 搜索排名中显得相当靠前,可能值得注意的是(在撰写本文时)只剩下 12 个月的时间来使用 Exchange Web 服务在它退休之前。
连接到这些服务的首选方法是通过 OAuth。
Q: Will my application stop working when you make this change?
A: It might, yes, it depends on the app itself and how it was coded.
If it’s using EWS, and if it’s using Basic authentication then yes, on
October 13th 2020 it will fail to connect. However, if the app is
using Modern Auth/OAuth, then no, it will keep working as it did
before.
Upcoming changes to Exchange Web Services (EWS) API for Office 365
对于当前使用 Matt 的上述方法获取 Office 365 邮件服务的任何人,这将适用。
使用本地交换服务的任何人都不会受到影响。
我正在尝试通过 windows 表单应用程序从我的 O365 邮箱中读取电子邮件。我希望我的应用程序使用我的用户名和密码从 O365 邮箱读取电子邮件。 是否可以在不在 Azure 上注册应用程序的情况下访问 O365 api? (仅使用用户凭据)
我在 msdn 上关注了这篇文章,https://msdn.microsoft.com/en-us/library/office/dn567668(v=exchg.150).aspx 我在这一行中遇到问题:
result = context.AcquireToken(resourceId, ClientID, _returnUri); // parameters are no longer valid in this method
是的,您可以使用 Exchange web service API。它专为客户端应用程序而设计。跟着link,你可以找到很多例子。
需要注意的是:创建服务客户端需要指定Exchange Server的版本,在线exchange应该是ExchangeVersion.Exchange2013_SP1
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
(第二个)更新:
自 2021 年 3 月 18 日起 - Exchange Web 服务基本身份验证的停用已暂停,直至另行通知。请看最新的附件link.
UPDATE - Exchange Online deprecating Basic Authentication
(第一个)更新:
Microsoft 于 2020 年 4 月 3 日宣布,鉴于当前的 COVID-19 危机,Exchange Web 服务将继续照常运行至 2021 年下半年 租户仍在积极使用它.
We will continue to disable Basic Authentication for newly created tenants by default and begin to disable Basic Authentication in tenants that have no recorded usage starting October 2020
Basic Authentication and Exchange Online - April 2020 Update
以下 post 仍然适用于更改,它刚刚被 post 推迟,没有确切的日期。有关详细信息,请参阅上面的 link。
原版:
考虑到这是一个相当受欢迎的问题,在 Google 搜索排名中显得相当靠前,可能值得注意的是(在撰写本文时)只剩下 12 个月的时间来使用 Exchange Web 服务在它退休之前。
连接到这些服务的首选方法是通过 OAuth。
Q: Will my application stop working when you make this change?
A: It might, yes, it depends on the app itself and how it was coded. If it’s using EWS, and if it’s using Basic authentication then yes, on October 13th 2020 it will fail to connect. However, if the app is using Modern Auth/OAuth, then no, it will keep working as it did before.
Upcoming changes to Exchange Web Services (EWS) API for Office 365
对于当前使用 Matt 的上述方法获取 Office 365 邮件服务的任何人,这将适用。 使用本地交换服务的任何人都不会受到影响。