Чтение заголовков электронной почты в Outlook Web Access (OWA)

Я занимаюсь разработкой Outlook Web App (разработчик Office 365). Что касается этого, есть ли способ прочитать заголовки выбранной почты, которая лежит на входящей почте?. Я использую Exchange Server 2013. Я хотел бы использовать Jquery или Javascript для написания кода.

Я попытался добавить "Анализатор заголовков сообщений" от Microsoft (ссылка:- " https://store.office.com/message-header-analyzer-WA104005406.aspx?assetid=WA104005406"). Теперь он работает правильно и может читать заголовки. Но мне нужно реализовать ту же функциональность, используя мои собственные коды.

Если кто-то может предоставить хорошую ссылку в качестве начала, я был бы очень признателен за это. (потому что я приложил большие усилия в поиске Google. Но.. все еще не повезло)

заранее спасибо.

1 ответ

Решение

Прежде всего, я хотел бы поблагодарить всех, кто ответил мне, чтобы разработать решение для этого. Особая благодарность должна идти @FreeAsInBeer и MrPiao. Проведя несколько дней, мне посчастливилось разработать идеальное решение для получения заголовков почты (мой технический руководитель мне очень помог в этом). Это отлично работает. Я получил некоторое время и удалил всю ненужную бизнес-логику из кода и, наконец, придумал следующий код. Я думаю, что теперь любой может использовать его для чтения заголовков входящих писем, используя J Query.

Я делаю запрос EWS снаружи, чтобы получить заголовки. Из этого метода обратного вызова я могу получить ожидаемый результат. После этого лучше использовать jQuery.parseXML для чтения и манипулирования ответом (который не включен в код).

Я надеюсь, что это объяснение поможет вам.

var _mailbox;
var _ItemId1

(function () {
    "use strict";
    // The Office initialize function must be run each time a new page is loaded
    Office.initialize = function (reason) {
        $(document).ready(function () {
            app.initialize();
            _mailbox = Office.context.mailbox;
            _ItemId1 = _mailbox.item.itemId;         
        });
    };  
})();

function getSelectedEmailHeaders() {
    // Wrap an Exchange Web Services request in a SOAP envelope.
    var var1 = '<?xml version="1.0" encoding="utf-8"?>';
    var var2 = '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">';
    var var3 = '  <soap:Header>';
    var var4 = '    <t:RequestServerVersion Version="Exchange2010" />';
    var var5 = '  </soap:Header>';
    var var6 = '  <soap:Body>';
    var var7 = '    <m:GetItem>';
    var var8 = '      <m:ItemShape>';
    var var9 = '        <t:BaseShape>IdOnly</t:BaseShape>';
    var var10 = '        <t:AdditionalProperties>';
    var var11 = '          <t:FieldURI FieldURI="item:Subject" />';
    var var12 = '          <t:FieldURI FieldURI="item:MimeContent" />';
    var var13 = '        </t:AdditionalProperties>';
    var var14 = '      </m:ItemShape>';
    var var15 = '      <m:ItemIds>';
    var var16 = '         <t:ItemId Id="' + _ItemId1 + '" />';
    var var17 = '      </m:ItemIds>';
    var var18 = '    </m:GetItem>';
    var var19 = '  </soap:Body>';
    var var20 = '</soap:Envelope>';

    var envelopeForHeaders = var1 + var2 + var3 + var4 + var5 + var6 + var7 + var8 + var9 + var10 + var11 + var12 + var13 + var14 + var15 + var16 + var17 + var18 + var19 + var20;
    //Calling EWS
    _mailbox.makeEwsRequestAsync(envelopeForHeaders, callbackForHeaders);
}

//This Function called when the EWS request is complete.
function callbackForHeaders(asyncResult) {
    //Write the content of the asyncResult on console
    console.log(asyncResult);
}

Благодарю вас. Кушан Рандима

Другие вопросы по тегам