Сохранить электронную почту Outlook как файл .elm, используя режим создания надстроек - PullRequest
0 голосов
/ 01 октября 2018

Я разрабатываю надстройку для Outlook, которая должна позволять пользователю сохранять электронную почту Outlook, находящуюся в режиме составления, в виде файла .eml и сохранять его на Google Drive / Dropbox перед отправкой.Мне удалось получить текст сообщения, копию, тему, тему и т. Д., Но я не смог получить вложение.Есть ли способ, которым я могу получить все детали Item, включая вложение, используя ItemId и сохранить его как файл .elm?

В режиме составления при нажатии кнопки отправки мне удалось получить ItemId и использовать его для остальных данных сообщения.

       Office.context.mailbox.item.saveAsync(function (result) {      
    itemId = result.value;
    var soapToGetItemData = getItemDataRequest(result.value);       
    Office.context.mailbox.makeEwsRequestAsync(soapToGetItemData, function (asyncResult) {           
        if (asyncResult.error != null) {
            updateAndComplete("EWS Status: " + asyncResult.error.message);
            return;
        }
        var parser = new DOMParser();
        var doc = parser.parseFromString(asyncResult.value, "text/xml");           
        var values = doc.childNodes[0].getElementsByTagName("t:ItemId");          
        var ItemId = values[0].attributes['Id'].value;            
        var changeKey = values[0].attributes['ChangeKey'].value;  
        var soapToSendItem = getItemRequest(ItemId, changeKey);           
        Office.context.mailbox.makeEwsRequestAsync(soapToSendItem, function (asyncResult) {
            if (asyncResult.error != null) {
                statusUpdate("EWS Status: " + asyncResult.error.message);
                return;
            }
            console.log('fulldata');
            console.log(asyncResult);

        });
    });  
}); 

asyncResult содержит полные данные составленного сообщения.

с помощью makeEwsRequestAsync как мне сохранить это письмо как .eml на жестком диске?

...