You can retrieve the email body in Office Mailbox API version 1.1 and above by calling the Office.context.mailbox.getCallbackTokenAsync method and making an ajax call to an EWS server. The example Microsoft provides is located at this link:
https://docs.microsoft.com/en-us/javascript/api/outlook/office.mailbox?view=outlook-js-1.1#getcallbacktokenasync-callback--usercontext-
My working example:
Office.context.mailbox.getCallbackTokenAsync({ isRest: true }, (result) => {
var ewsId = Office.context.mailbox.item.itemId;
var token = result.value;
// var restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0); this does not work on API version 1.1
var restId = ewsId.replaceAll("/", "-").replaceAll("+", "_"); // Convert ewsId to restId
var getMessageUrl = (Office.context.mailbox.restUrl || 'https://outlook.office365.com/api') + '/v2.0/me/messages/' + restId;
var xhr = new XMLHttpRequest();
xhr.open('GET', getMessageUrl);
xhr.setRequestHeader('Prefer', 'outlook.body-content-type="html"') // for retrieving body as HTML
xhr.setRequestHeader("Authorization", "Bearer " + token);
xhr.onload = (e) => {
var json = JSON.parse(xhr.responseText);
var emailBody = json.Body.Content;
}
xhr.send();
});