Message Header Analyzer mail app.
This is the source for the Message Header Analyzer. Install the app from the store here: https://appsource.microsoft.com/en-us/product/office/WA104005406
Because MHA requires the ReadWriteMailbox permission it can only be installed by the Administrator through the Exchange admin center or by a user as a custom addon. Here are some steps I put together:
- In Office365, go to the Exchange Admin Center.
- Click on the Organization tab
- From there, select the add-ins tab
- Click the Plus icon/Add from the Office Store
- Click the Plus icon/Add from the Office Store
- A new page will load for the store
- Search for "Message Header Analyzer"
- Choose MHA in the results
- Click Add
- Confirm by clicking Yes
- Back in the Exchange Admin Center, refresh the list of add-ins
- You can now edit who the add-in is available for
In order to get the transport message headers I have to use the EWS makeEwsRequestAsync method, which requires the ReadWriteMailbox permission level. See the article Understanding Outlook add-in permissions for more on this. If I could request fewer permissions I would, since I only ever read the one property, but I have no choice in the matter.
When REST is more widely available, and a few REST specific bugs are fixed, I'll be able to switch to REST and request a lower permission level.
Here is a standalone Message Header Analyzer running the same backend code as the MHA app: https://mha.azurewebsites.net/pages/mha.html
https://mha.azurewebsites.net/pages/unittests.html
For both IOS and Android click open an email, then press the three dots under the date. There you should see the MHA icon. See outlook-mobile-addins page for more details.
- Ensure node.js (LTS) is installed
- Clone the repo to your local drive
- Run the following to install packages:
npm install
- The commands below for unit/site/add-in testing will also build before starting the server, but you can also build on demand.
- Manual build:
npm run build
- For continuous build on changes, you can use watch:
npm run watch
- Start the dev server:
npm run dev-server
- Run unit tests from command line:
npm run test
- Run unit tests locally in browser: https://localhost:44336/Pages/unittests.html
- Changes made to source should live compile and reload page. Ctrl R/refresh as needed.
- Start the dev server:
npm run dev-server
- Run website locally: https://localhost:44336/Pages/mha.html
- Changes made to source should live compile and reload page. Ctrl R/refresh as needed.
- Close Outlook
- Start the dev server:
npm start
- Outlook should start with add-in added as "View Headers Debug Local"
- Changes made to source should live compile and reload in Outlook. Ctrl R/refresh as needed.
- Follow the steps given here.
- Clean build artifacts:
npm clean