【问题标题】:Read email headers in Outlook Web Access (OWA)在 Outlook Web Access (OWA) 中阅读电子邮件标头
【发布时间】:2020-09-24 18:21:46
【问题描述】:

我正在开发一个 Outlook Web 应用程序(Office 365 开发人员)。关于这一点,有没有办法读取收件箱中所选邮件的标题?我正在使用 Exchange server 2013。我想使用 Jquery 或 Javascript 来编写代码。

我尝试添加来自 Microsoft 的“消息头分析器”(链接:-'https://store.office.com/message-header-analyzer-WA104005406.aspx?assetid=WA104005406')。现在它工作正常并且可以读取标题。但是我需要使用我自己的代码来实现相同的功能。

如果有人可以提供一个好的参考作为开始,我将不胜感激。 (因为,我在搜索谷歌时付出了很大的努力。但是..仍然没有运气)

提前致谢。

【问题讨论】:

  • @user1800337 你为什么不发布你迄今为止尝试过的东西。我们不是来为你做你的工作的。
  • 对于什么版本的 Exchange ?如果它的 2013\Office365 则查看以下 MailApp store.office.com/…
  • 如果您不在 2013/Office 365 上,则无法扩展 OWA 以显示电子邮件标题。当然,您应该能够在外部发出 EWS 请求以获取标头...
  • @ Glen Scales,非常感谢您提供此链接。我认为这可能是完成这项工作的解决方案。但不幸的是,当我按下“添加”按钮时,它会将我引导至 404。
  • @FreeAsInBeer,对不起。到目前为止,我无法开发出任何可观的解决方案。这对我来说是一种研究。谢谢

标签: javascript jquery exchangewebservices office365 outlook-web-app


【解决方案1】:

首先,我要感谢所有回复我并为此制定解决方案的人。特别感谢@FreeAsInBeer 和 MrPiao。花了几天的时间后,我能够开发以下用于获取邮件标头的解决方案。我从代码中删除了所有不必要的业务逻辑,最后想出了以下代码。它可用于使用 JQuery 读取收件箱电子邮件的标题。

我正在外部发出 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);
}

谢谢。贵霜兰迪玛

【讨论】:

    猜你喜欢
    • 2017-09-05
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2021-12-26
    • 1970-01-01
    相关资源
    最近更新 更多