我正在尝试在 Outlook 加载项中使用Office.context.mailbox.item.body.getAsync
JavascriptOffice.context.mailbox.item.body.setAsync
方法向邮件正文添加一些内容。它工作得非常好,除非用户的签名上有图像。图像消失,仅显示其 alt 属性。如果我检查 html,<img>
元素就在那里,但是src
属性变成(unknown)
而不是显示原始的 base64。
1 回答
我在这个问题上工作了几天,没有任何图像解决方案,我认为现在在使用 getAsync 和 setAsync 后,没有解决体内本地图像的方法。唯一可以为您工作的图像是位于外部服务器或 Outlook 表情符号上的图像。
你可以在这里阅读更多,这个问题在微软开发者论坛上,这个问题的结论是:
Outlook 对象模型和 Outlook 加载项是不同的。当你手动发送带图片的邮件时,它使用 Outlook 对象模型,并将图片存储在邮件项中,“src="cid:”表示邮件对象中的图像对象。当你使用 Office 加载项发送时,电子邮件body 仅通过“src”表示图片的位置。邮件中没有插入真实的图片。要在发送者和接收者中显示图片,您需要将图片放置在每个人都可以访问的公共场所。
您也许可以尝试使用Outlook rest API。现在,您可以通过插件轻松使用 Outlook REST API。在此链接中阅读有关它的更多信息。然后按照这个问题尝试解决图像问题,在使用“setAsync”之前使用 Outlook REST API 请求获取所有附件,然后将图像源更改为图像的 base 64 数据。
祝你好运。
编辑:我在这里写了对熟悉问题的答案:outlook add-in image & files,也许它可以帮助你解决你的问题。