Office.Body interface
body 对象提供用于添加和更新邮件或约会内容的方法。 它将在所选项目的 body 属性中返回。
注解
HTML 表格边框颜色的已知问题
Windows 上的 Outlook:如果在Compose模式下将 HTML 表格中的各种单元格边框设置为不同的颜色,则单元格的边框可能不会反映预期的颜色。 有关已知行为,请访问 OfficeDev/office-js 问题 #1818。
最低权限级别: 读取项
适用的 Outlook 模式:Compose或读取
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
const mailItem = Office.context.mailbox.item;
const base64String =
"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";
// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
// Insert the Base64-encoded image to the beginning of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
let body = attachResult.asyncContext;
body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);
mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Inline Base64-encoded image added to the body.");
} else {
console.log(setResult.error.message);
}
});
} else {
console.log(attachResult.error.message);
}
});
} else {
console.log(bodyResult.error.message);
}
});
方法
append |
在任何签名之后,将指定内容发送到项目正文末尾时追加。 若要使用 |
append |
在任何签名之后,将指定内容发送到项目正文末尾时追加。 若要使用 |
get |
使用指定的格式返回当前正文。 此方法以 指定的 |
get |
使用指定的格式返回当前正文。 此方法以 指定的 |
get |
获取一个值,该值指示内容采用 HTML 格式还是文本格式。 |
get |
获取一个值,该值指示内容采用 HTML 格式还是文本格式。 |
prepend |
将指定内容添加到项目正文开头。 |
prepend |
将指定内容添加到项目正文开头。 |
prepend |
发送邮件项目时,将 HTML 或纯文本预置到邮件或约会正文的开头。 若要使用 |
prepend |
发送邮件项目时,将 HTML 或纯文本预置到邮件或约会正文的开头。 若要使用 |
set |
将整个正文替换为指定的文本。 |
set |
将整个正文替换为指定的文本。 |
set |
将正文中的所选内容更换为指定文本。
|
set |
将正文中的所选内容更换为指定文本。
|
set |
如果项正文没有现有签名,则向项目正文添加签名。 如果正文中已有签名,则替换该签名。 |
set |
如果项正文没有现有签名,则向项目正文添加签名。 如果正文中已有签名,则替换该签名。 |
方法详细信息
appendOnSendAsync(data, options, callback)
在任何签名之后,将指定内容发送到项目正文末尾时追加。
若要使用 appendOnSendAsync
,必须在清单中指定补充权限。 详细信息因清单类型而异。 请参阅 了解 Outlook 外接程序权限。 若要了解有关end-on-send及其配置的详细信息,请参阅 在 Outlook 加载项中实现 append-on-send。
appendOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
参数
- data
-
string
要添加到正文末尾的字符串。 字符串限制为 5,000 个字符。
包含以下一个或多个属性的对象文本:- asyncContext
:开发人员可以在回调函数中提供他们想要访问的任何对象。
coercionType
:要追加的数据的所需格式。 参数中的字符串将转换为此格式。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
可选。 方法完成后,使用类型的Office.AsyncResult
单个参数调用在 参数中callback
传递的函数。
asyncResult.error
属性中将提供遇到的所有错误。
返回
void
注解
最低权限级别: 读/写项
适用的 Outlook 模式:Compose
建议:调用 getTypeAsync
,然后将其返回的值传递给 options.coercionType
参数。
重要说明:
如果用户运行的加载项在清单中使用 实现 on-send 功能
ItemSend
,则 append-on-send 先运行 on-send 功能。如果加载项实现 on-send 功能并在处理程序中
ItemSend
调用appendOnSendAsync
,则appendOnSendAsync
调用将返回错误,因为此方案不受支持。若要清除上
appendOnSendAsync
一次调用中的数据,可以再次调用,并将data
参数设置为null
。不支持 SVG 文件。 请改用 JPG 或 PNG 文件。
方法
appendOnSendAsync
不支持内联 CSS。 请改用内部或外部 CSS。
错误:
DataExceedsMaximumSize
:参数data
长度超过 5,000 个字符。InvalidFormatError
:参数options.coercionType
设置为Office.CoercionType.Html
,但消息正文为纯文本。
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/append-text-on-send.yaml
// This snippet appends text to the end of the message or appointment's body once it's sent.
const text = $("#text-field").val();
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the appendOnSendAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
const bodyFormat = asyncResult.value;
Office.context.mailbox.item.body.appendOnSendAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`"${text}" will be appended to the body once the message or appointment is sent. Send the mail item to test this feature.`);
});
});
appendOnSendAsync(data, callback)
在任何签名之后,将指定内容发送到项目正文末尾时追加。
若要使用 appendOnSendAsync
,必须在清单中指定补充权限。 详细信息因清单类型而异。 请参阅 了解 Outlook 外接程序权限。 若要了解有关end-on-send及其配置的详细信息,请参阅 在 Outlook 加载项中实现 append-on-send。
appendOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
参数
- data
-
string
要添加到正文末尾的字符串。 字符串限制为 5,000 个字符。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
可选。 方法完成后,使用类型的Office.AsyncResult
单个参数调用在 参数中callback
传递的函数。
asyncResult.error
属性中将提供遇到的所有错误。
返回
void
注解
最低权限级别: 读/写项
适用的 Outlook 模式:Compose
建议:调用 getTypeAsync
,然后将其返回的值传递给 options.coercionType
参数。
重要说明:
如果用户运行的加载项在清单中使用 实现 on-send 功能
ItemSend
,则 append-on-send 先运行 on-send 功能。如果加载项实现 on-send 功能并在处理程序中
ItemSend
调用appendOnSendAsync
,则appendOnSendAsync
调用将返回错误,因为此方案不受支持。若要清除上
appendOnSendAsync
一次调用中的数据,可以再次调用,并将data
参数设置为null
。不支持 SVG 文件。 请改用 JPG 或 PNG 文件。
方法
appendOnSendAsync
不支持内联 CSS。 请改用内部或外部 CSS。
错误:
DataExceedsMaximumSize
:参数data
长度超过 5,000 个字符。InvalidFormatError
:参数options.coercionType
设置为Office.CoercionType.Html
,但消息正文为纯文本。
getAsync(coercionType, options, callback)
使用指定的格式返回当前正文。
此方法以 指定的 coercionType
格式返回整个当前正文。
getAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
参数
- coercionType
-
Office.CoercionType | string
用于返回的正文的格式。
- options
- Office.AsyncContextOptions
包含以下一个或多个属性的对象文本:- asyncContext
:开发人员可以在回调函数中提供他们想要访问的任何对象。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
可选。 方法完成后,使用 Office.AsyncResult 类型的单个参数调用在 参数中 callback
传递的函数。 正文在 属性中以请求的格式 asyncResult.value
提供。
返回
void
注解
[ API 集:邮箱 1.3 ]
最低权限级别: 读取项
适用的 Outlook 模式:Compose或读取
重要说明:
使用 HTML 格式的正文时,请务必注意,方法返回
Body.getAsync
的值不一定与之前在 方法中Body.setAsync
传递的值完全相同。 客户端可以修改传递给setAsync
的值,使其通过其呈现引擎高效呈现。在 Outlook 网页版 和新 Outlook on Windows 中,如果正文包含带格式的元素(如表、列表和链接),请在调用中
getAsync
指定Office.CoercionType.Html
。 否则,可能会收到意外值,例如空字符串。
示例
// This example gets the body of the item as plain text.
Office.context.mailbox.item.body.getAsync(
"text",
{ asyncContext: "This is passed to the callback" },
function callback(result) {
// Do something with the result.
});
// The following is an example of the result parameter passed to the callback function.
{
"value": "TEXT of whole body (including threads below)",
"status": "succeeded",
"asyncContext": "This is passed to the callback"
}
getAsync(coercionType, callback)
使用指定的格式返回当前正文。
此方法以 指定的 coercionType
格式返回整个当前正文。
getAsync(coercionType: Office.CoercionType | string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
参数
- coercionType
-
Office.CoercionType | string
用于返回的正文的格式。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
可选。 方法完成后,使用 Office.AsyncResult 类型的单个参数调用在 参数中 callback
传递的函数。 正文在 属性中以请求的格式 asyncResult.value
提供。
返回
void
注解
[ API 集:邮箱 1.3 ]
最低权限级别: 读取项
适用的 Outlook 模式:Compose或读取
重要说明:
使用 HTML 格式的正文时,请务必注意,方法返回
Body.getAsync
的值不一定与之前在 方法中Body.setAsync
传递的值完全相同。 客户端可以修改传递给setAsync
的值,使其通过其呈现引擎高效呈现。在 Outlook 网页版 和新 Outlook on Windows 中,如果正文包含带格式的元素(如表、列表和链接),请在调用中
getAsync
指定Office.CoercionType.Html
。 否则,可能会收到意外值,例如空字符串。
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
const mailItem = Office.context.mailbox.item;
const base64String =
"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";
// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
// Insert the Base64-encoded image to the beginning of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
let body = attachResult.asyncContext;
body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);
mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Inline Base64-encoded image added to the body.");
} else {
console.log(setResult.error.message);
}
});
} else {
console.log(attachResult.error.message);
}
});
} else {
console.log(bodyResult.error.message);
}
});
getTypeAsync(options, callback)
获取一个值,该值指示内容采用 HTML 格式还是文本格式。
getTypeAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;
参数
- options
- Office.AsyncContextOptions
包含以下一个或多个属性的对象文本:- asyncContext
:开发人员可以在回调函数中提供他们想要访问的任何对象。
- callback
-
(asyncResult: Office.AsyncResult<Office.CoercionType>) => void
可选。 方法完成后,使用类型的Office.AsyncResult
单个参数调用在 参数中callback
传递的函数。 内容类型作为 属性中的CoercionType
asyncResult.value
值之一返回。
返回
void
注解
最低权限级别: 读取项
适用的 Outlook 模式:Compose
重要提示:在 Android 版 Outlook 和 iOS 版中,邮件Compose模式不支持此方法。 仅支持约会组织者模式。 有关 Outlook mobile 中支持的 API 的详细信息,请参阅移动设备上的 Outlook 中支持的 Outlook JavaScript API。
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/get-body-format.yaml
// Get the mail item's body format (plain text or HTML) and log it to the console.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log("Body format: " + asyncResult.value);
});
getTypeAsync(callback)
获取一个值,该值指示内容采用 HTML 格式还是文本格式。
getTypeAsync(callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;
参数
- callback
-
(asyncResult: Office.AsyncResult<Office.CoercionType>) => void
可选。 方法完成后,使用类型的Office.AsyncResult
单个参数调用在 参数中callback
传递的函数。 内容类型作为 属性中的CoercionType
asyncResult.value
值之一返回。
返回
void
注解
最低权限级别: 读取项
适用的 Outlook 模式:Compose
重要提示:在 Android 版 Outlook 和 iOS 版中,邮件Compose模式不支持此方法。 仅支持约会组织者模式。 有关 Outlook mobile 中支持的 API 的详细信息,请参阅移动设备上的 Outlook 中支持的 Outlook JavaScript API。
prependAsync(data, options, callback)
将指定内容添加到项目正文开头。
prependAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
参数
- data
-
string
将插入到正文开头的字符串。 字符串大小限制为 1,000,000 个字符。
包含以下一个或多个属性的对象文本:- asyncContext
:开发人员可以在回调函数中提供他们想要访问的任何对象。
coercionType
:正文的所需格式。 参数中的字符串将转换为此格式。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
可选。 方法完成后,使用类型的Office.AsyncResult
单个参数调用在 参数中callback
传递的函数。
asyncResult.error
属性中将提供遇到的所有错误。
返回
void
注解
最低权限级别: 读/写项
适用的 Outlook 模式:Compose
建议:调用 getTypeAsync
,然后将返回的值传递给 options.coercionType
参数。
重要说明:
在内容预置后,游标的位置取决于加载项运行的客户端。 在 Outlook 网页版 和 Windows (新) 和经典) 中,光标位置在正文的预先存在内容中保持不变。 例如,如果光标在调用之前
prependAsync
位于正文的开头,则它将在调用后预先添加的内容和正文的预先存在内容之间显示。 在 Outlook on Mac 中,不会保留光标位置。 光标在调用后消失,prependAsync
仅在用户选择邮件项目正文中的某些内容时重新出现。使用 HTML 格式的正文时,请务必注意,客户端可以修改传递给
prependAsync
的值,使其通过其呈现引擎高效呈现。 这意味着,在 Mailbox 1.3) 中引入的方法的后续调用Body.getAsync
(返回的值不一定包含上prependAsync
一次调用中传递的确切值。在 HTML 标记中包含链接时,可以通过将定位点上的 属性 (<>) 设置为
id
“LPNoLP”来禁用联机链接预览, (有关示例) ,请参阅示例部分。在 Outlook on Android 和 iOS 中,“邮件Compose”模式不支持此方法。 仅支持约会组织者模式。 有关 Outlook mobile 中支持的 API 的详细信息,请参阅移动设备上的 Outlook 中支持的 Outlook JavaScript API。
不支持 SVG 文件。 请改用 JPG 或 PNG 文件。
方法
prependAsync
不支持内联 CSS。 请改用内部或外部 CSS。
错误:
-
DataExceedsMaximumSize
:数据参数长度超过 1,000,000 个字符。
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/prepend-text-to-item-body.yaml
/* This snippet adds text to the beginning of the message or appointment's body.
When prepending a link in HTML markup to the body, you can disable the online link preview by setting the anchor tag's id attribute to "LPNoLP". For example, '<a id="LPNoLP" href="https://www.contoso.com">Click here!</a>'.
*/
const text = $("#text-field").val().toString();
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
const bodyFormat = asyncResult.value;
Office.context.mailbox.item.body.prependAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`"${text}" prepended to the body.`);
});
});
prependAsync(data, callback)
将指定内容添加到项目正文开头。
prependAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
参数
- data
-
string
将插入到正文开头的字符串。 字符串大小限制为 1,000,000 个字符。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
可选。 方法完成后,使用类型的Office.AsyncResult
单个参数调用在 参数中callback
传递的函数。
asyncResult.error
属性中将提供遇到的所有错误。
返回
void
注解
最低权限级别: 读/写项
适用的 Outlook 模式:Compose
建议:调用 getTypeAsync
,然后将返回的值传递给 options.coercionType
参数。
重要说明:
在内容预置后,游标的位置取决于加载项运行的客户端。 在 Outlook 网页版 和 Windows (新) 和经典) 中,光标位置在正文的预先存在内容中保持不变。 例如,如果光标在调用之前
prependAsync
位于正文的开头,则它将在调用后预先添加的内容和正文的预先存在内容之间显示。 在 Outlook on Mac 中,不会保留光标位置。 光标在调用后消失,prependAsync
仅在用户选择邮件项目正文中的某些内容时重新出现。使用 HTML 格式的正文时,请务必注意,客户端可以修改传递给
prependAsync
的值,使其通过其呈现引擎高效呈现。 这意味着,在 Mailbox 1.3) 中引入的方法的后续调用Body.getAsync
(返回的值不一定包含上prependAsync
一次调用中传递的确切值。在 HTML 标记中包含链接时,可以通过将定位点上的 属性 (<>) 设置为
id
“LPNoLP”来禁用联机链接预览, (有关示例) ,请参阅示例部分。在 Outlook on Android 和 iOS 中,“邮件Compose”模式不支持此方法。 仅支持约会组织者模式。 有关 Outlook mobile 中支持的 API 的详细信息,请参阅移动设备上的 Outlook 中支持的 Outlook JavaScript API。
不支持 SVG 文件。 请改用 JPG 或 PNG 文件。
方法
prependAsync
不支持内联 CSS。 请改用内部或外部 CSS。
错误:
-
DataExceedsMaximumSize
:数据参数长度超过 1,000,000 个字符。
prependOnSendAsync(data, options, callback)
发送邮件项目时,将 HTML 或纯文本预置到邮件或约会正文的开头。
若要使用 prependOnSendAsync
,必须在清单中指定补充权限。 详细信息因清单类型而异。 有关指导,请参阅 了解 Outlook 外接程序权限。
prependOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
参数
- data
-
string
要附加到邮件或约会正文开头的字符串。 字符串限制为 5,000 个字符。
一个对象文本,它包含以下一个或多个属性:- asyncContext
:可在回调函数中访问的任何对象。
coercionType
:正文的所需格式。 参数中的 data
字符串将转换为此格式。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
可选。 方法完成后,使用类型的Office.AsyncResult
单个参数调用在 参数中callback
传递的函数。
asyncResult.error
属性中将提供遇到的所有错误。
返回
void
注解
最低权限级别: 读/写项
适用的 Outlook 模式:Compose
建议:调用 getTypeAsync
,然后将其返回的值传递给 options.coercionType
参数。
重要说明:实现 prependOnSendAsync
时,请记住以下几点。
在 智能警报加载项中,发送前附加功能首先运行。
在前面附加的内容后面添加了一个新行。
如果多个活动加载项调用
prependOnSendAsync
,则插入内容的顺序取决于外接程序的运行顺序。 上次运行加载项的内容显示在前面附加的内容上方。如果外接程序尝试在纯文本正文中插入 HTML,则内容不会在前面添加。 相反,纯文本将插入 HTML 正文。
不支持 SVG 文件。 请改用 JPG 或 PNG 文件。
方法
prependOnSendAsync
不支持内联 CSS。 请改用内部或外部 CSS。
错误:
DataExceedsMaximumSize
:参数data
超过 5,000 个字符。InvalidFormatError
:参数options.coercionType
设置为Office.CoercionType.Html
,但项目正文采用纯文本格式。
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/prepend-text-on-send.yaml
// This snippet prepends text to the beginning of the message or appointment's body once it's sent.
const text = $("#text-field").val().toString();
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependOnSendAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
const bodyFormat = asyncResult.value;
Office.context.mailbox.item.body.prependOnSendAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`"${text}" will be prepended to the body once the message or appointment is sent. Send the mail item to test this feature.`);
});
});
prependOnSendAsync(data, callback)
发送邮件项目时,将 HTML 或纯文本预置到邮件或约会正文的开头。
若要使用 prependOnSendAsync
,必须在清单中指定补充权限。 详细信息因清单类型而异。 有关指导,请参阅 了解 Outlook 外接程序权限。
prependOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
参数
- data
-
string
要附加到邮件或约会正文开头的字符串。 字符串限制为 5,000 个字符。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
可选。 方法完成后,使用类型的Office.AsyncResult
单个参数调用在 参数中callback
传递的函数。
asyncResult.error
属性中将提供遇到的所有错误。
返回
void
注解
最低权限级别: 读/写项
适用的 Outlook 模式:Compose
建议:调用 getTypeAsync
,然后将其返回的值传递给 options.coercionType
参数。
重要说明:实现 prependOnSendAsync
时,请记住以下几点。
在 智能警报加载项中,发送前附加功能首先运行。
在前面附加的内容后面添加了一个新行。
如果多个活动加载项调用
prependOnSendAsync
,则插入内容的顺序取决于外接程序的运行顺序。 上次运行加载项的内容显示在前面附加的内容上方。如果外接程序尝试在纯文本正文中插入 HTML,则内容不会在前面添加。 相反,纯文本将插入 HTML 正文。
不支持 SVG 文件。 请改用 JPG 或 PNG 文件。
方法
prependOnSendAsync
不支持内联 CSS。 请改用内部或外部 CSS。
错误:
DataExceedsMaximumSize
:参数data
超过 5,000 个字符。InvalidFormatError
:参数options.coercionType
设置为Office.CoercionType.Html
,但项目正文采用纯文本格式。
setAsync(data, options, callback)
将整个正文替换为指定的文本。
setAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
参数
- data
-
string
将替换现有正文的字符串。 字符串限制为 1,000,000 个字符。
包含以下一个或多个属性的对象文本:- asyncContext
:开发人员可以在回调函数中提供他们想要访问的任何对象。
coercionType
:正文的所需格式。 参数中的字符串将转换为此格式。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
可选。 方法完成后,使用 Office.AsyncResult 类型的单个参数调用在 参数中 callback
传递的函数。
asyncResult.error
属性中将提供遇到的所有错误。
返回
void
注解
[ API 集:邮箱 1.3 ]
最低权限级别: 读/写项
适用的 Outlook 模式:Compose
建议:调用 getTypeAsync
,然后将返回的值传递给 options.coercionType
参数。
重要说明:
将正文替换为指定内容后,光标的位置取决于加载项运行的客户端。 在经典 Outlook on Windows 中,光标显示在邮件项目正文的开头。 在Outlook 网页版和新的 Outlook on Windows 中,光标显示在邮件项目正文的末尾。 在 Outlook on Mac 中,不会保留光标位置。 光标在调用后消失,
prependAsync
仅在用户选择邮件项目正文中的某些内容时重新出现。使用 HTML 格式的正文时,请务必注意,方法返回
Body.getAsync
的值不一定与之前在 方法中Body.setAsync
传递的值完全相同。 客户端可以修改传递给setAsync
的值,使其通过其呈现引擎高效呈现。在 HTML 标记中包含链接时,可以通过将定位点上的 属性 (<>) 设置为
id
“LPNoLP”来禁用联机链接预览, (有关示例) ,请参阅示例部分。在 Outlook on Windows 和 Mac 中,加载项用户无法使用“撤消”命令还原此操作。
在 Outlook on Android 和 iOS 中,“邮件Compose”模式不支持此方法。 仅支持约会组织者模式。 有关 Outlook mobile 中支持的 API 的详细信息,请参阅移动设备上的 Outlook 中支持的 Outlook JavaScript API。
不支持 SVG 文件。 请改用 JPG 或 PNG 文件。
方法
setAsync
不支持内联 CSS。 请改用内部或外部 CSS。
错误:
DataExceedsMaximumSize
:数据参数长度超过 1,000,000 个字符。InvalidFormatError
:参数options.coercionType
设置为Office.CoercionType.Html
,消息正文为纯文本。
示例
// When including links in HTML markup, you can disable online link preview
// by setting the id attribute on the anchor (<a>) to "LPNoLP".
Office.context.mailbox.item.body.setAsync(
'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>',
{
coercionType: Office.CoercionType.Html,
asyncContext: "This is passed to the callback"
},
(result) => {
// Process the result.
}
);
// The following is an example of the result parameter passed to the callback function.
{
"value": null,
"status": "succeeded",
"asyncContext": "This is passed to the callback"
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
const mailItem = Office.context.mailbox.item;
const base64String =
"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";
// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
// Insert the Base64-encoded image to the beginning of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
let body = attachResult.asyncContext;
body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);
mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Inline Base64-encoded image added to the body.");
} else {
console.log(setResult.error.message);
}
});
} else {
console.log(attachResult.error.message);
}
});
} else {
console.log(bodyResult.error.message);
}
});
setAsync(data, callback)
将整个正文替换为指定的文本。
setAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
参数
- data
-
string
将替换现有正文的字符串。 字符串限制为 1,000,000 个字符。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
可选。 方法完成后,使用 Office.AsyncResult 类型的单个参数调用在 参数中 callback
传递的函数。
asyncResult.error
属性中将提供遇到的所有错误。
返回
void
注解
[ API 集:邮箱 1.3 ]
最低权限级别: 读/写项
适用的 Outlook 模式:Compose
建议:调用 getTypeAsync
,然后将返回的值传递给 options.coercionType
参数。
重要说明:
将正文替换为指定内容后,光标的位置取决于加载项运行的客户端。 在经典 Outlook on Windows 中,光标显示在邮件项目正文的开头。 在Outlook 网页版和新的 Outlook on Windows 中,光标显示在邮件项目正文的末尾。 在 Outlook on Mac 中,不会保留光标位置。 光标在调用后消失,
prependAsync
仅在用户选择邮件项目正文中的某些内容时重新出现。使用 HTML 格式的正文时,请务必注意,方法返回
Body.getAsync
的值不一定与之前在 方法中Body.setAsync
传递的值完全相同。 客户端可以修改传递给setAsync
的值,使其通过其呈现引擎高效呈现。在 HTML 标记中包含链接时,可以通过将定位点上的 属性 (<>) 设置为
id
“LPNoLP”来禁用联机链接预览, (有关示例) ,请参阅示例部分。在 Outlook on Windows 和 Mac 中,加载项用户无法使用“撤消”命令还原此操作。
在 Outlook on Android 和 iOS 中,“邮件Compose”模式不支持此方法。 仅支持约会组织者模式。 有关 Outlook mobile 中支持的 API 的详细信息,请参阅移动设备上的 Outlook 中支持的 Outlook JavaScript API。
不支持 SVG 文件。 请改用 JPG 或 PNG 文件。
方法
setAsync
不支持内联 CSS。 请改用内部或外部 CSS。
错误:
DataExceedsMaximumSize
:数据参数长度超过 1,000,000 个字符。InvalidFormatError
:参数options.coercionType
设置为Office.CoercionType.Html
,消息正文为纯文本。
setSelectedDataAsync(data, options, callback)
将正文中的所选内容更换为指定文本。
setSelectedDataAsync
方法将指定的字符串插入项目正文中的光标位置,或者,如果在编辑器中选定了文本,它就会替换所选文本。 如果光标从未出现在项目正文中,或者如果该项目的正文不关注 UI,该字符串将插入到正文内容的顶部。 插入后,光标将置于插入内容的末尾。
setSelectedDataAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
参数
- data
-
string
将替换现有正文的字符串。 字符串限制为 1,000,000 个字符。
包含以下一个或多个属性的对象文本:- asyncContext
:开发人员可以在回调函数中提供他们想要访问的任何对象。
coercionType
:正文的所需格式。 参数中的字符串将转换为此格式。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
可选。 方法完成后,使用类型的Office.AsyncResult
单个参数调用在 参数中callback
传递的函数。
asyncResult.error
属性中将提供遇到的所有错误。
返回
void
注解
最低权限级别: 读/写项
适用的 Outlook 模式:Compose
建议:调用 getTypeAsync
,然后将返回的值传递给 options.coercionType
参数。
* 重要说明:
在 HTML 标记中包含链接时,可以通过将定位点上的 属性 (<>) 设置为
id
“LPNoLP”来禁用联机链接预览, (有关示例) ,请参阅示例部分。不支持 SVG 文件。 请改用 JPG 或 PNG 文件。
方法
setSelectedDataAsync
不支持内联 CSS。 请改用内部或外部 CSS。
错误:
DataExceedsMaximumSize
:参数data
长度超过 1,000,000 个字符。InvalidFormatError
:参数options.coercionType
设置为Office.CoercionType.Html
,消息正文为纯文本。
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/replace-selected-text.yaml
/* This snippet replaces selected text in a message or appointment's body with specified text.
If you want to use a link in HTML markup as a value of the setSelectedDataAsync call's data parameter, you can disable online link preview by setting the anchor tag's id attribute to "LPNoLP". For example, '<a id="LPNoLP" href="https://www.contoso.com">Click here!</a>'.
*/
const text = $("#text-field").val().toString();
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
const bodyFormat = asyncResult.value;
Office.context.mailbox.item.body.setSelectedDataAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`Replaced selected text with "${text}".`);
});
});
setSelectedDataAsync(data, callback)
将正文中的所选内容更换为指定文本。
setSelectedDataAsync
方法将指定的字符串插入项目正文中的光标位置,或者,如果在编辑器中选定了文本,它就会替换所选文本。 如果光标从未出现在项目正文中,或者如果该项目的正文不关注 UI,该字符串将插入到正文内容的顶部。 插入后,光标将置于插入内容的末尾。
setSelectedDataAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
参数
- data
-
string
将替换现有正文的字符串。 字符串限制为 1,000,000 个字符。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
可选。 方法完成后,使用类型的Office.AsyncResult
单个参数调用在 参数中callback
传递的函数。
asyncResult.error
属性中将提供遇到的所有错误。
返回
void
注解
最低权限级别: 读/写项
适用的 Outlook 模式:Compose
建议:调用 getTypeAsync
,然后将返回的值传递给 options.coercionType
参数。
* 重要说明:
在 HTML 标记中包含链接时,可以通过将定位点上的 属性 (<>) 设置为
id
“LPNoLP”来禁用联机链接预览, (有关示例) ,请参阅示例部分。不支持 SVG 文件。 请改用 JPG 或 PNG 文件。
方法
setSelectedDataAsync
不支持内联 CSS。 请改用内部或外部 CSS。
错误:
DataExceedsMaximumSize
:参数data
长度超过 1,000,000 个字符。InvalidFormatError
:参数options.coercionType
设置为Office.CoercionType.Html
,消息正文为纯文本。
setSignatureAsync(data, options, callback)
如果项正文没有现有签名,则向项目正文添加签名。 如果正文中已有签名,则替换该签名。
setSignatureAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
参数
- data
-
string
表示在邮件正文中设置的签名的字符串。 此字符串限制为 30,000 个字符。
包含以下一个或多个属性的对象文本:- asyncContext
:开发人员可以在回调函数中提供他们想要访问的任何对象。
coercionType
:签名应设置为的格式。 如果为 Text,则 该方法将签名设置为纯文本,从而删除存在的所有 HTML 标记。 如果为 Html,则 方法将签名设置为 HTML。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
可选。 方法完成后,使用类型的Office.AsyncResult
单个参数调用在 参数中callback
传递的函数。
返回
void
注解
最低权限级别: 读/写项
适用的 Outlook 模式:Compose
重要说明:
在 Outlook 网页版 和新的 Outlook on Windows 中,
setSignatureAsync
仅适用于邮件。从版本 4.2352.0 开始,Android 版 Outlook 和 iOS 上的 Message Compose 支持此方法。 有关示例方案,请参阅在 Outlook 移动加载项中实现基于事件的激活。若要详细了解 Outlook 移动版支持的 API,请参阅移动设备上 Outlook 支持的 Outlook JavaScript API。
如果在使用清单中的 LaunchEvent 实现基于事件的激活功能的外接程序的事件处理程序中调用它,则 行为
setSignatureAsync
会有所不同。 当用户撰写新项目 (包括答复或转发) 时,将设置签名,但不会修改表单。 这意味着,如果用户关闭窗体而不进行其他编辑,则不会提示他们保存更改。邮件签名不支持 SVG 文件。 请改用 JPG 或 PNG 文件。
方法
setSignatureAsync
不支持内联 CSS。 请改用内部或外部 CSS。
错误:
DataExceedsMaximumSize
:参数data
长度超过 30,000 个字符。InvalidFormatError
:参数options.coercionType
设置为Office.CoercionType.Html
,消息正文为纯文本。
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/work-with-client-signatures.yaml
// Set the signature for the current item with inline image.
const modIcon1Base64 = "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpDRDMxMDg1MjBCNDZFMTExODE2MkM1RUI2M0M4MDYxRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTUxQjgyRjQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTUxQjgyRTQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQxMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNEMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+uC/WfAAAAehJREFUeNpilCzfwEAEkAbiECA2A2J1IOaHin8E4ptAfBaIVwLxU0IGMRKw0B6IW4DYhoE4cASIK6E0VsCEQ1wUiNcB8QESLGOAqj0MxBuhZhBloS4QnwHiQAbygR/UDF1CFupCXSjHQDmQg5qli8tCUBBsQUoQ1AD8UDNFsVk4n0o+w+bT+egWglKjNymmeGhLkqLcG2oHAwtUoIuQDj5OVgZPLUmwRe5aEmAxqYqNpFgKssOcCeplM0KqdST5GfpDDRm0JfkYrj3/SE7QguyQY4ImYYLgCtAS10kHGMw6dzNsv/qC7OwCClJXYlR++v6b4er3j5QmIFcmaNlIL6AOslCIjhYKMTHQGTBBqxh6gXcgC6/R0cKbIAv30dHCfaAKGJTxHxJSqS3Fz9DkowNmywpyMcgA8fF7b8D8VWcfM6w8+4gYC+VB+RCk8hSh0gaUD4/dewvlvUWRe/z+GzGWgex4BGtiOAHxXhoHpzMoSGHZAhSPW2lo2VZYWkHOh4nEtLrIAE+hZmNUwK+B2BOIv1PRsu9QM1/jatNcBtVZ0IREKXgENesyoVYbzNIdFFi2A5tl+NqlL6BB4QBNzsSCU1A9nlAzMAALAQMOQl0qB23qWwKxIlIrDBQ394H4OBCvISYqAAIMACVibHDqsO7zAAAAAElFTkSuQmCC";
Office.context.mailbox.item.addFileAttachmentFromBase64Async(
modIcon1Base64,
"myImage.png",
{ isInline: true },
function(result) {
if (result.status == Office.AsyncResultStatus.Succeeded) {
const signature = $("#signature").val() + "<img src='cid:myImage.png'>";
console.log(`Setting signature to "${signature}".`);
Office.context.mailbox.item.body.setSignatureAsync(
signature,
{ coercionType: "html" },
function(asyncResult) {
console.log(`setSignatureAsync: ${asyncResult.status}`);
}
);
} else {
console.error(`addFileAttachmentFromBase64Async: ${result.error}`);
}
}
);
...
// Set the signature for the current item.
const signature = $("#signature").val();
console.log(`Setting signature to "${signature}".`);
Office.context.mailbox.item.body.setSignatureAsync(signature, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("setSignatureAsync succeeded");
} else {
console.error(asyncResult.error);
}
});
setSignatureAsync(data, callback)
如果项正文没有现有签名,则向项目正文添加签名。 如果正文中已有签名,则替换该签名。
setSignatureAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
参数
- data
-
string
表示在邮件正文中设置的签名的字符串。 此字符串限制为 30,000 个字符。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
可选。 方法完成后,使用类型的Office.AsyncResult
单个参数调用在 参数中callback
传递的函数。
返回
void
注解
最低权限级别: 读/写项
适用的 Outlook 模式:Compose
重要说明:
在 Outlook 网页版 和新的 Outlook on Windows 中,
setSignatureAsync
仅适用于邮件。从版本 4.2352.0 开始,Android 版 Outlook 和 iOS 上的 Message Compose 支持此方法。 有关示例方案,请参阅在 Outlook 移动加载项中实现基于事件的激活。若要详细了解 Outlook 移动版支持的 API,请参阅移动设备上 Outlook 支持的 Outlook JavaScript API。
如果在使用清单中的 LaunchEvent 实现基于事件的激活功能的外接程序的事件处理程序中调用它,则 行为
setSignatureAsync
会有所不同。 当用户撰写新项目 (包括答复或转发) 时,将设置签名,但不会修改表单。 这意味着,如果用户关闭窗体而不进行其他编辑,则不会提示他们保存更改。邮件签名不支持 SVG 文件。 请改用 JPG 或 PNG 文件。
方法
setSignatureAsync
不支持内联 CSS。 请改用内部或外部 CSS。
错误:
DataExceedsMaximumSize
:参数data
长度超过 30,000 个字符。InvalidFormatError
:参数options.coercionType
设置为Office.CoercionType.Html
,消息正文为纯文本。