Home > Back-end >  Read email from office365 inbox without using of IMAP and POP3
Read email from office365 inbox without using of IMAP and POP3

Time:12-19

There is a need to read email from office365 inbox without using of IMAP and POP3 protocol, Because these protocols are disabled in my case and also I can't enable them due to some security issue. Please suggest me if any other way to do the same without these two protocol.

Thanks in advance!

CodePudding user response:

Yes there is another way (several in fact, but I will suggest one). There is an API called EWS (Exchange Web Services). It is pretty straightforward to use. You just need the Credentials of the account.

Here is a small example:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2); // This is the latest version of this library

ExchangeCredentials credentials = new WebCredentials("email", "password");
service.setCredentials(credentials);
// this.exchangeService.setWebProxy(new WebProxy("xx.xxx.xxx.xx", 8080)); // If you're behind a proxy
service.setUrl(new URI("https://outlook.office365.com/EWS/Exchange.asmx")); // This is the standard URL

Folder inboxFolder = Folder.bind(service, WellKnownFolderName.Inbox);

FindItemsResults<Item> results = service.findItems(inboxFolder.getId(), new ItemView(10)); // 10 is the number of items to fetch (pagesize)

for (Item result : results)
{
    EmailMessage currentEmail = (EmailMessage) result;

    System.out.println(currentEmail.getFrom());
    // And so on
}

The library is capable of doing a lot more such as reading/booking appointments, sending Emails, and so on.

The library uses SOAP as far as my knowledge goes, so you're safe from POP and IMAP.

  • Related