【问题标题】:Office.context.mailbox.item.body.setAsync strips out inline imageOffice.context.mailbox.item.body.setAsync 去除内联图像
【发布时间】:2016-09-07 17:32:41
【问题描述】:

我正在尝试在我的电子邮件末尾附加文本,其中包括正文中的内联图像。我调用 Office.context.mailbox.item.body.setAsync 将 coercionType 设置为 html。当我发送电子邮件时,内联图像被删除。

如何让 Office.context.mailbox.item.body.setAsync 不剥离我的内联图像?

在此处查看 API 调用示例: https://dev.outlook.com/reference/add-ins/Body.html

【问题讨论】:

    标签: office365 office-addins office-js office365-apps outlook-web-addins


    【解决方案1】:

    为了避免覆盖原来的内容,我们需要先获取body,再追加内容。

    这是一个示例供您参考:

    function appendText() {
        Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html,function (result) {
            var newHtml = result.value.replace("</body>", "<br/ >apend text here.</body>")
    
            Office.context.mailbox.item.body.setAsync(newHtml, { coercionType: Office.CoercionType.Html });
        });
    }
    

    【讨论】:

    • 感谢您的回复。我们已经这样做了。没有文本只被内联图像剥离。
    • 该代码对我来说效果很好。你是如何插入内联图像的?您是否在设置之前更改了内容后检查了结果 HTML?
    • 感谢您的帮助。我通过剪切和粘贴将图像插入到电子邮件的正文中。当我调用 getASync 以获取原始 HTML(包括内联图像)并与我的附加 HTML 进行比较时,除了附加 HTML 之外没有任何变化。当我使用 prependAsync() 时,内联图像不会被剥离。只有当我尝试在正文末尾附加并调用 setAsync 时,内联图像才会被删除。
    • 当我说“剥离”时,这意味着在电子邮件正文中,图像显示为损坏。 - 谢谢
    • 我在办公室插件中这样做
    猜你喜欢
    • 2011-08-07
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    • 2011-09-22
    • 2017-03-30
    • 2021-10-01
    相关资源
    最近更新 更多