我们有一个适用于Calendar的O365加载项。它将HTML放入邀请的正文中。除了我们放置的图像之外,其他所有方法都运行良好。如何使图像出现在邀请电子邮件视图中?
var logo = "<div style=\"line-height:60px\"><img src=\"https://static-a.test.com/a2/custom-assets/enterprise/4714/isg_logo/d05aa76d58614c0e88b864eec963cec0.png\" height=\"30\" alt=\"Test Meet\" style=\"user-select: none;\" tabindex=\"0\"></div>";
var formattedBody = agenda
+ _.repeat(newLine, 1)
+ logo
+ testInvitation;
return Q.oinvoke(Office.context.mailbox.item.body, "setAsync", formattedUserBody, { coercionType: coercionType })
.then(function() {
logger.info("Add meeting completed successfully");
});
还有另一种方法可以修复它,或者它是Outlook的已知限制?
我们通过在Outlook 2013中遵循此link来解决此问题。
----- 01/09/19-有关提供的解决方案之后的问题的更新 ----------
报告的主要问题已由解决方案解决。现在,我们可以在电子邮件邀请中看到徽标,但是在“日历”视图中该徽标已损坏。
更改的代码:
var formattedBody = agenda
+ _.repeat(newLine, 1)
+ "<img src='cid:testMeet.png'/>"
+ testInvitation;
Office.context.mailbox.item.addFileAttachmentAsync(
"https://static-a.test.com/a2/custom-assets/enterprise/4714/isg_logo/d05aa76d58614c0e88b864eec963cec0.png",
"testMeet.png",
{asyncContext: null, isInline: true},
function (asyncResult) {
Office.context.mailbox.item.body.setAsync(
formattedBody,
{ coercionType: Office.CoercionType.Html, asyncContext:null });
});
此修复程序还破坏了Outlook Mobile App中的徽标呈现。请告知,因为我们需要在议程(如果有)和文本之间添加徽标。
----截图01/16/2019 -----
------ Outlook矩阵2019年1月26日-------
答案 0 :(得分:1)
以这种方式将图像添加到身体是不正确的,并且正如您所看到的,有时是越野车。相反,您应该使用addFileAttachmentAsync
,更具体地说是isInline
属性,该属性将允许您使用cid:
引用来添加图像。
例如:
Office.context.mailbox.item.addFileAttachmentAsync(
"https://static-a.test.com/a2/custom-assets/enterprise/4714/isg_logo/d05aa76d58614c0e88b864eec963cec0.png",
"testMeet.png",
{asyncContext: null, isInline: true},
function (asyncResult) {
Office.context.mailbox.item.body.setAsync(
"<img src='cid:testMeet.png'/>",
{ coercionType: Office.CoercionType.Html, asyncContext: null });
});