Hi @Doug Goldstein
Thank you for posting your question in the Microsoft Q&A forum.
Outlook mobile add‑ins cannot directly retrieve the full MIME/EML content of the selected message.
Here is a workaround that you may try:
1.From the Outlook mobile Add‑in (Office.js)
Outlook Mobile supports Mailbox 1.1, which means you can read the Internet Message ID directly.
const internetMessageId = Office.context.mailbox.item.internetMessageId;
Send this internetMessageId to your backend, along with a user identifier (like their UPN or internal user ID).
2.On your backend
Outlook Mobile doesn’t support APIs for SSO or direct message retrieval, so the backend must use application permissions to access the mailbox.
Locate the email by its Internet Message ID:
-Exact match with $filter:
GET https://graph.microsoft.com/v1.0/users/{userId}/messages?$filter=internetMessageId eq '{internetMessageId}'
Note: Internet Message IDs contain reserved characters like < and >. You must URL‑encode them when using $filter.
For example:
- Internet Message ID:
<******@contoso.com> - Encoded:
%3C******@contoso.com%3E
-Fallback if $filter doesn't find it, use $search:
GET https://graph.microsoft.com/v1.0/users/{userId}/messages?$search="{internetMessageId}"
3.Once you’ve located the message and have its Graph ID, download the complete MIME/EML content:
GET https://graph.microsoft.com/v1.0/users/{userId}/messages/{messageId}/$value
This returns the full RFC 822 MIME content. You can save it directly as an .eml file or process it however your service requires.
You can read more at Get MIME content of a message using the Outlook mail API - Microsoft Graph | Microsoft Learn.
I hope this helps.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread