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);
}
}
}
})();