Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Read emails from exchange online (Office 365) through windows forms application

I am trying to read emails from my O365 mailbox through a windows forms application. I want my application to read emails from O365 mailbox using my username and password. Is it possible to access the O365 api without registering the application on the Azure? (only using user credentials)

I followed this article on msdn, https://msdn.microsoft.com/en-us/library/office/dn567668(v=exchg.150).aspx I have an issue in this line:

result = context.AcquireToken(resourceId, ClientID, _returnUri); // parameters are no longer valid in this method
like image 387
Prasad De Silva Avatar asked Jul 30 '15 11:07

Prasad De Silva


People also ask

How do I Export emails from Office 365 to OWA?

Open Outlook and click on File. Go to Open and Export and then select Import/Export. In the Export and Import Wizard click on Export to a File and then Next.

How do I transfer emails from Office 365 Webmail to desktop?

Open the message you want to save, and on the File tab, click Save As. In the Save as dialog box, in the Folder pane, choose a folder, and then the location in that selected folder where you want to save the file. In the File name box, type a name for the file.


2 Answers

Yes, you can do with with Exchange web service API. It is designed for client application. Follow the link, you can find a lot of examples.

One note is: to create the service client, you need specify the version of the Exchange Server, it should be ExchangeVersion.Exchange2013_SP1 for exchange online.

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
like image 140
Matt Avatar answered Sep 18 '22 04:09

Matt


(Second) UPDATE:

As of March 18, 2021 - the retirement of Exchange Web Services basic authentication has been placed on hold until further notice. Please see the latest attached link.

UPDATE - Exchange Online deprecating Basic Authentication

(First) UPDATE:

Microsoft announced on the 3rd April 2020, that in light of the current COVID-19 crisis, Exchange Web Services would continue to operate as current until the second half of 2021 for tenants still actively using it.

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

The below post still applies with respect to the changes, it has just been postponed with no precise date. See the link above for full details.

ORIGINAL:

Given how this is a fairly popular question appearing quite high up on Google search rankings, it's probably worth noting that there is only 12 months left (at the time of writing) to use the Exchange Web Services before it is retired.

The preferred method to connect to these services is through 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

For anyone currently using the above method by Matt for Office 365 mail services, this will apply. Anyone using on-prem exchange services remains unaffected.

like image 30
Stuart Frankish Avatar answered Sep 21 '22 04:09

Stuart Frankish