Моя рабочая среда Outlook меняется с режима онлайн (непрерывное подключение) на режим кэширования, и это нарушает компонент рабочего стола надстройки Outlook, предназначенной для сохранения, а затем пересылки черновиков электронных писем для внутренней проверки безопасности.
Мой исходный код будет сохранять черновик asyn c, затем использовать Id и изменить ключ, чтобы переслать его В кэшированном режиме Id отсутствует, пока учетная запись не синхронизируется с Exchange.
Теперь битый код (не работает в кэшированном режиме)
//Save current item as draft
mailForward.SaveDraftIfNecessary = function SaveDraftIfNecessary() {
if (_item_id == null || _item_id == undefined) {
Office.context.mailbox.item.saveAsync(function (asyncResult) {
if (asyncResult.error) {
app.showNotification(_appName, "Error: " + asyncResult.error.message);
}
else {
_item_id = asyncResult.value;
}
});
}
};
Я смог написать код который может копировать почту и отправлять ее, но мне нужно иметь возможность вставить черновик тела в новое тело письма, но он не принимает его. Он не работает для текста или HTML.
Код для получения типа тела и текста выглядит следующим образом:
item.body.getTypeAsync(
function (asyncResultGet) {
if (asyncResultGet.status === Office.AsyncResultStatus.Failed) {
statusUpdate("icon16", asyncResultGet.error.message);
stopSpinner();
}
else {
bodyType = asyncResultGet.value;
item.body.getAsync(bodyType,
function (asyncResultGet) {
if (asyncResultGet.status === Office.AsyncResultStatus.Failed) {
statusUpdate("icon16", asyncResultGet.error.message);
stopSpinner();
}
else {
bodyText = asyncResultGet.value;
SOAP, который я пытаюсь использовать для вставить основной текст. Я также пробовал t: NewBodyContent вместо t: Body:
' <t:Message>' +
' <t:Subject>' + _subject + '</t:Subject>' +
' <t:Body BodyType="'+ _bodyType +'">' + _bodyText + '</t:Body>' +
' <t:ToRecipients>' + _adddressesSoap + '</t:ToRecipients>' +
' </t:Message>' +