通过windows表单应用程序从exchange online (Office 365)中阅读电子邮件

本文关键字:电子邮件 Office 表单 windows 应用程序 online exchange 通过 | 更新日期: 2023-09-27 18:05:27

我正试图通过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

通过windows表单应用程序从exchange online (Office 365)中阅读电子邮件

是的,您可以使用Exchange web服务API。它是为客户端应用程序设计的。点击链接,你可以找到很多例子。

需要注意的是:要创建服务客户端,您需要指定Exchange Server的版本,对于Exchange online,应该是ExchangeVersion.Exchange2013_SP1

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);

(第二)更新:

截至2021年3月18日,Exchange Web Services基本身份验证的退役已被搁置,直至另行通知。请参阅附件中的最新链接。

UPDATE - Exchange Online不支持基本身份验证

(第一个)更新:

微软于2020年4月3日宣布,鉴于当前的COVID-19危机,Exchange Web Services将继续以当前方式运行,直到2021年下半年对于仍在积极使用它的租户

我们将继续禁用新创建的基本身份验证并开始关闭"Basic Authentication"从2020年10月开始没有使用记录的租户

Basic Authentication and Exchange Online - 2020年4月更新

下面的帖子仍然适用于这些变化,只是被推迟了,没有确切的日期。

原始:

考虑到这是一个相当流行的问题,在谷歌搜索排名中名列前茅,可能值得注意的是,在Exchange Web Services退役之前,只剩下12个月的时间了(在撰写本文时)。

连接这些服务的首选方法是通过OAuth。

问:当你做这个改变时,我的应用程序会停止工作吗?

A:有可能,是的,这取决于应用本身和它是如何编码的。如果它使用EWS,如果它使用Basic身份验证,那么是,开2020年10月13日它将无法连接。然而,如果应用程序是使用Modern Auth/OAuth,则不,它将继续工作之前。

Office 365的Exchange Web Services (EWS) API即将更改

对于正在使用Matt提供的Office 365邮件服务的上述方法的任何人,这将适用。使用本地交换服务的用户不受影响。