我正在尝试通过在邮件正文中添加图片来添加图片,方法是将它们添加到邮件项目的附件中,然后在邮件正文的 html 中添加具有正确内容 ID 的源。
除了 Outlook for Mac 之外,这工作正常。在Outlook for Windows和浏览器(甚至Safari(中,图片被正确插入。
在 Outlook for Mac 中,我得到空白方块,并显示文件可能被移动或删除的错误。当我发送电子邮件时,图片被正确插入,收件人会收到一封带有图片的邮件(在"已发送邮件"中看起来也正确(。
此问题仅在 Outlook for Mac 上撰写电子邮件时出现。我使用以下代码:
Office.context.mailbox.item.addFileAttachmentAsync(uri,
assetName,
{ },
function (asyncResult) {
if (asyncResult.status == "failed") {
console.log("Attach action failed with error: " + asyncResult.error.message);
deferred.reject();
}
else {
console.log("Attach action successfull");
deferred.resolve();
}
});
您是否尝试在添加文件后执行 saveAsync(( 操作?我知道在发送电子邮件或另存为草稿之前,许多设置不会传播。不幸的是,我无法设置测试来确认这将产生什么影响,但可能值得一试:
Office.context.mailbox.item.saveAsync(
function callback(result) {
// Process the result
});
如果要将内联图像用作附件,则需要将isInline
指定为真作为其中一个参数。这是要求集 1.5 的一部分,可能不适用于您的 Outlook for Mac 版本。 下面是一个带有示例的代码片段。
Office.context.mailbox.item.addFileAttachmentAsync
(
"http://i.imgur.com/WJXklif.png",
"cute_bird.png",
{
isInline: true
},
function (asyncResult) {
Office.context.mailbox.item.body.setAsync(
"<p>Here's a cute bird!</p><img src='cid:cute_bird.png'>",
{
"coercionType": "html"
},
function (asyncResult) { }
);
}
);