Office.context.mailbox.item.body.setAsync从签名中删除原始base64

时间:2017-02-25 17:51:11

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

我尝试在Outlook加载项中使用Office.context.mailbox.item.body.getAsyncOffice.context.mailbox.item.body.setAsync Javascript方法向邮件正文添加一些内容。它的工作非常好,除非用户的签名上有图像。图像消失,仅显示其alt属性。如果我检查html,<img>元素就在那里,但src属性变为(unknown)而不是显示原始base64。

1 个答案:

答案 0 :(得分:1)

我在没有任何图像解决方案的情况下工作了几天,我认为现在使用getAsync和setAsync后,身体内的局部图像没有解决方案。唯一可以为您工作的图像是位于外部服务器或Outlook表情符号上的图像。

你可以阅读更多Here,这个问题在微软开发人员论坛上,这个问题的结论是:

  

Outlook对象模型和Outlook加载项不同。当您手动发送带有图像的电子邮件时,它使用Outlook对象模型,并将图像存储在电子邮件项目中,“src =”cid:“表示电子邮件对象中的图像对象。   使用Office加载项发送时,电子邮件正文仅通过“src”指示图像的位置。邮件项中没有插入真实图像。要在发件人和收件人中显示图像,您需要将图像放在每个人都可以访问的公共场所。

您可以尝试使用Outlook rest API。您可以通过添加的方式轻松使用Outlook rest API。在此link中了解有关它的更多信息。然后按照此question尝试使用Outlook rest API请求解决图像问题,以便在使用'setAsync'之前获取所有附件,然后将图像源更改为图像的基本64数据。

祝你好运。

编辑:我在这里写下了对这个问题的答案:outlook add-in image & files,也许它可以帮助你解决问题。