Office 365 Outlook电子邮件的消息来源

时间:2015-08-19 16:17:52

标签: office365 outlook-addin

我需要将office 365 outlook帐户中存在的电子邮件的消息源解压缩到我的javascript应用程序中。有没有方法/ api这样做?包含完整标题和正文部分的消息源。

谢谢!

2 个答案:

答案 0 :(得分:0)

今天使用Office 365 REST API无法实现此目的。如果您可以解释您的情况,我们可能会建议一条替代路线。

答案 1 :(得分:0)

你可以使用make a EwsRequest:

                function getEmailEWSAsync() {
                var item = Office.context.mailbox.item;
                // Create a local variable that contains the mailbox.
                var result =
                       '<?xml version="1.0" encoding="utf-8"?>' +
                       '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
                       '               xmlns:xsd="http://www.w3.org/2001/XMLSchema"' +
                       '               xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' +
                       '               xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">' +
                       '  <soap:Header>' +
                       '    <RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" soap:mustUnderstand="0" />' +
                       '  </soap:Header>' +
                       '  <soap:Body>' +
                       '    <GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">' +
                       '      <ItemShape>' +
                       '        <t:BaseShape>IdOnly</t:BaseShape>' +
                       '        <t:IncludeMimeContent>true</t:IncludeMimeContent>' +
                       '        <t:AdditionalProperties>' +
                       '            <t:FieldURI FieldURI="item:MimeContent"/>' +
                       '            <t:FieldURI FieldURI="item:Categories"/>' +
                       '            <t:FieldURI FieldURI="item:DateTimeSent"/>' +
                       '            <t:FieldURI FieldURI="item:DateTimeReceived"/>' +
                       '        </t:AdditionalProperties>' +
                       '      </ItemShape>' +
                       '      <ItemIds><t:ItemId Id="' + Office.context.mailbox.item.itemId + '"/></ItemIds>' +
                       '    </GetItem>' +
                       '  </soap:Body>' +
                       '</soap:Envelope>';
                Office.context.mailbox.makeEwsRequestAsync(result, callback);


            }

异步调用将为您提供MimeContent,它是原始消息(message / rfc822)。但请注意:由于EWS不可用而且REST API不允许获取MimeContent,因此这些插件无法在移动设备上运行.....