3

我正在開發Outlook Web App(Office 365開發人員)。關於這一點,有沒有辦法閱讀所選郵件的標題?我正在使用Exchange Server 2013.我想使用Jquery或Javascript編寫代碼。在Outlook Web Access(OWA)中閱讀電子郵件標題

我試圖從Microsoft添加「Message Header Analyzer」(鏈接: - 'https://store.office.com/message-header-analyzer-WA104005406.aspx?assetid=WA104005406')。現在它工作正常,它可以讀取標題。但我需要使用自己的代碼來實現相同的功能。

如果任何人都可以提供一個很好的參考作爲開始,我將不勝感激。 (因爲我在搜索谷歌方面付出了很大的努力,但是......仍然沒有運氣)

在此先感謝。

+1

迄今爲止的努力? – 2014-09-29 06:05:06

+1

@ user1800337爲什麼不發佈迄今爲止已經嘗試過的內容。我們不在這裏爲你做你的工作。 – FreeAsInBeer 2014-09-29 18:14:57

+1

對於什麼版本的Exchange?如果它的2013 \ Office365然後看看下面的MailApp https://store.office.com/message-header-analyzer-WA104005406.aspx?assetid=WA104005406 – 2014-09-30 04:36:44

回答

2

首先,我要感謝所有迴應我爲此制定解決方案的人。特別感謝@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); 
} 

謝謝。 Kushan Randima