[Webinar] Streamline your web hosting managementRegister Today


Exchange Online API to retrieve info from emails

Posted on 2018-02-13
Low Priority
Last Modified: 2018-02-13
Hello guys,

My company is in the middle of a project and they've requested my help. They basically would like to obtain, from a given company, all email usage related data to then put it in a nice graph so they can analyze things like:

Number of emails sent overall
How many numbers of emails are sent inside the organisation or outside.

To be more precise, these are the questions I have been made:

1.      When is email sent? Date, time and weekday
2.      Who is the sender/receiver? Remember, don’t take it down to people, we have to talk about areas/departments/...
3.      Are there people in CC/CCO? Who are they?  In the TO, CC and CCO. # of people and # of emails
4.      Is the email part of a chain/conversation? A “response” Chain size, number of hopes, …
5.      Is the email a forward? What was the original chain? Forward and Reply
6.      Is the email an automated email from a system? Or from a person?

From my understanding - I am no programmer-, I can use powershell to pull up some reports that should give some insight but they're looking to integrate all this data into one application they're developing.

My boss just mentioned to me that the powershell report would give them part of the information but they also looking to see more specific data such as if the email is ccd, forwarded, etc etc.

He says that Microsoft Graph does obtain this information.

Does anyone know which API they need to use?

Thank you very much for your help!
Question by:Dsenorans

Expert Comment

by:Hasin Ahmed Choudhary
I think you will have to contact MS for that or wait till some expert on messaging programmer expert replies.
LVL 45

Expert Comment

by:Vasil Michev (MVP)
What you can pull from PowerShell are the message trace details, they only cover basic routing/deliver information. Headers are not exposed. Unless you get the actual message, there is no way to determine whether it's a part of specific conversation, number of replies in the conversation and so on. So in general, to get some of this information you will need to grant impersonation or full access permissions to all mailboxes in the company, which is not something you should be doing lightly. But if you are OK with this, yes, the EWS API or the newer REST based Outlook API (part of Graph) can give you message-level access.

Author Comment

Thank you very much. I suspected it would be that way but had to ask!

Have a good day

Featured Post

Free tool for managing users' photos in Office 365

Easily upload multiple users’ photos to Office 365. Manage them with an intuitive GUI and use handy built-in cropping and resizing options. Link photos with users based on Azure AD attributes. Free tool!

Join & Write a Comment

If Skype for Business came with your office 2016 or office 365 installation, you may find that it's almost impossible to either disable or remove it. The application will often launch with each start of Windows, even when explicitly configured not t…
Why WooCommerce is one of the majorly favored choices when it comes to having an eCommerce store. This article will acquaint you with some reasons that I believe make it one of the best eCommerce platforms available.
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…
Whether it be Exchange Server Crash Issues, Dirty Shutdown Errors or Failed to mount error, Stellar Phoenix Mailbox Exchange Recovery has always got your back. With the help of its easy to understand user interface and 3 simple steps recovery proced…

612 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question