#javascript #outlook-addin #office-addins
Вопрос:
У меня точно такая же проблема, как упоминалось here:https://social.msdn.microsoft.com/Forums/en-US/8abd0ad0-260a-4fbe-9e6c-9a9f1236dcc2/how-to-send-message-with-multiline-body-with-ews-managed-api?форум= exchangesvrdevelopment
По сути, у меня есть текст, который мне нужен многострочный для API Javascript приложений office, но он продолжает удалять reg из текста, поэтому многострочные исчезают.
Вот базовый код:
Office.context.mailbox.item.getAllInternetHeadersAsync(async function (asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
BodyText = "Blah rn SecondLine rn";
var MyMessage = `Hello Support, <br>
<br>
This is an automated email from ` Office.context.mailbox.userProfile.displayName ` to check if this is spam. <br>
<br>
<b>Email Header Information: </b>
<br>
` asyncResult.value `<br>
<br>
<b>Email Details: </b>
<br>
` BodyText
console.log(emaildataresult)
function htmlDecode(input) {
var doc = new DOMParser().parseFromString(input, "text/html");
return doc.documentElement.textContent;
}
function htmlEncode(value) {
// Create a in-memory element, set its inner text (which is automatically encoded)
// Then grab the encoded contents back out. The element never exists on the DOM.
return $('<textarea/>').text(value).html();
}
var request =
'<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/">'
' <soap:Header><t:RequestServerVersion Version="Exchange2010" /></soap:Header>'
" <soap:Body>"
' <m:CreateItem MessageDisposition="SendAndSaveCopy">'
' <m:SavedItemFolderId><t:DistinguishedFolderId Id="sentitems" /></m:SavedItemFolderId>'
" <m:Items>"
" <t:Message>"
" <t:Subject>" Office.context.mailbox.userProfile.displayName " - Spam Check" "</t:Subject>"
' <t:Body BodyType="HTML">' htmlEncode(MyMessage)
"</t:Body>"
" <t:ToRecipients>"
" <t:Mailbox><t:EmailAddress>"
Office.context.mailbox.userProfile.emailAddress
"</t:EmailAddress></t:Mailbox>"
" </t:ToRecipients>"
" </t:Message>"
" </m:Items>"
" </m:CreateItem>"
" </soap:Body>"
"</soap:Envelope>";
console.log(request)
Office.context.mailbox.makeEwsRequestAsync(request, function (result) {
});
}
})
По сути, BodyText = "Blah rn SecondLine rn"
выходит как Blah SecondLine
.
Я почти уверен, что это связано с <t:Body BodyType="HTML">
внутри request
переменной, но я не уверен, как отформатировать тип тела для чего-то, что подберет reg.
Я также пытался
String BodyText = "Blah rn SecondLine rn";
em.Body = new MessageBody(BodyType.Text, BodyText);
Из сообщения https://social.msdn.microsoft.com/Forums/en-US/8abd0ad0-260a-4fbe-9e6c-9a9f1236dcc2/how-to-send-message-with-multiline-body-with-ews-managed-api?forum=exchangesvrdevelopment но это не сработало, я думаю, это потому, что, возможно, это C #.
Есть предложения от команды Office-Addin?
Спасибо