EWS CreateItem дают 2 сообщения электронной почты в черновиках

Мне нужно создать электронное письмо, прикрепить к нему еще одно электронное сообщение и сохранить его в папке черновиков;

Чтобы продолжить, я использую сначала GetItem, затем CreateItem,

Но каждый раз появляется 2 почтовых сообщения в этой папке. Каждое сообщение электронной почты содержит вложение и находится в черновом режиме. Я не понимаю, почему есть 2 сообщения электронной почты.

Пожалуйста, помогите мне. Спасибо.

Вот мой код:

(function () {
    "use strict";

    Office.initialize = function (reason) {
        $(document).ready(function () {
            app.initialize();
            $('#fowardToGroups').click(function () { sendNow(); });
        });
    };

    var item_id;
    var mailbox;

    async function sendNow() {
        var item = Office.context.mailbox.item;
        item_id = item.itemId;
        mailbox = Office.context.mailbox;

        var receiver="test@ymail.com";
            var soapToCreateItem='<?xml version="1.0" encoding="utf-8"?>'+
            '                            <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'+
            '                                           xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"'+
            '                                           xmlns:xsd="http://www.w3.org/2001/XMLSchema"' +
            '                                           xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"'+
            '                                           xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'+
            '                               <soap:Header>'+
            '                                   <t:RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" soap:mustUnderstand="0" />'+
            '                               </soap:Header>'+
            '                               <soap:Body>'+
            '                                   <m:CreateItem MessageDisposition="SaveOnly">'+
            '                                       <m:SavedItemFolderId> '+
            '                                           <t:DistinguishedFolderId Id="drafts" /> '+
            '                                       </m:SavedItemFolderId> '+
            '                                       <m:Items>'+
            '                                           <t:Message>'+
            '                                               <t:Subject>Suspicious e-mail </t:Subject>'+
            '                                               <t:Body BodyType="HTML">body</t:Body>'+
            '                                               <t:ToRecipients>'+
            '                                                   <t:Mailbox>'+
            '                                                       <t:EmailAddress>'+receiver+'</t:EmailAddress>'+
            '                                                   </t:Mailbox>'+
            '                                               </t:ToRecipients>'+
            '                                           </t:Message>'+
            '                                       </m:Items>'+
            '                                  </m:CreateItem>'+
            '                               </soap:Body>'+
            '                           </soap:Envelope>';


           mailbox.makeEwsRequestAsync(soapToCreateItem, soapToCreateItemCallback);
        }



    function soapToCreateItemCallback(asyncResult) {
        var parser;
        var xmlDoc;

        if (asyncResult.error != null) {
            app.showNotification("EWS Status 1", asyncResult.error.message);
        }
        else {
            var response = asyncResult.value;
            if (window.DOMParser) {
                parser = new DOMParser();
                xmlDoc = parser.parseFromString(response, "text/xml");
            }
            else // Older Versions of Internet Explorer
            {
                xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.async = false;
                xmlDoc.loadXML(response);
            }
            var result = xmlDoc.getElementsByTagName("m:ResponseCode")[0].textContent;
            if (result == "NoError") {
                  app.showNotification("Status", "Success !");
            }
            else {
                  app.showNotification("Status", "error : " + result);
            }
        }
      }

  })();

0 ответов

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