在 Outlook 中获取或设置邮件或约会的正文

对邮件或约会调用 正文 API 以检索内容、确定其格式或更新内容。 使用可用的 Body 方法,可以根据邮件项目收件人自定义签名,或者出于法律目的添加免责声明。

选择适用的选项卡,了解如何获取或设置邮件项目的正文。

可以在阅读和撰写模式下获取邮件或约会的正文。 若要检索邮件项目的正文,请调用 Office.context.mailbox.item.body.getAsync。 调用 getAsync 方法时,必须在 参数中 coercionType 指定返回正文的格式。 例如,可以获取 HTML 或纯文本格式的正文。

以下示例获取 HTML 格式的项的正文。

// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
  if (bodyResult.status === Office.AsyncResultStatus.Failed) {
    console.log(`Failed to get body: ${bodyResult.error.message}`);
    return;
  }

  const body = bodyResult.value;

  // Perform additional operations here.
});

在 Outlook 网页版、移动设备上或在 Windows 上的新 Outlook 中获取邮件答复正文

在Outlook 网页版、移动设备和新的 Outlook on Windows 中,当你在邮件回复上调用Office.context.mailbox.item.body.getAsync时,将返回会话线程的整个正文。 如果只需要当前答复,则可以在调用中getAsync指定 bodyMode 选项。

在 Outlook 网页版 和新的 Outlook on Windows 中,可以使用 bodyMode 选项来反映用户的“邮件组织”设置。 用户可以在“设置邮件布局>邮件组织”>>中将其邮件组织为对话或单个邮件。 此设置会影响向用户显示消息正文的量,尤其是在具有多个消息的会话线程中。 根据设置,将显示整个会话线程的内容或仅显示当前消息的内容。 有关 邮件组织 设置的详细信息,请参阅 更改邮件列表在 Outlook 中的显示方式

下表列出了根据 bodyMode 配置返回的正文部分。

bodyMode 配置 对返回的正文的影响
bodyMode 未在调用中 getAsync 指定 将返回会话线程的整个正文。 但是,在 Outlook 移动版中,在快速答复模式下, (邮件) 底部的回复字段时,仅返回当前答复的正文。
bodyMode 设置为 Office.MailboxEnums.BodyMode.FullBody 将返回会话线程的整个正文。 但是,在 Outlook 移动版中,在快速答复模式下,仅返回当前答复的正文。
bodyMode 设置为 Office.MailboxEnums.BodyMode.HostConfig 在Outlook 网页版和新的 Outlook on Windows 中,如果将“邮件组织”设置为“按对话>分组邮件所选对话中的所有邮件”或“显示按对话>/分组的电子邮件”,则仅返回当前答复的正文。 相反,如果将 “邮件组织” 设置为 “单个邮件:不对邮件>仅一封邮件 进行分组”或“ 将电子邮件显示为单个邮件”,则会返回会话线程的整个正文。

在 Outlook 移动版中,仅返回当前答复的正文。

注意

  • 在移动设备上的 Outlook 中,选项 bodyMode 从版本 4.2538.0 开始可用。
  • bodyMode Outlook on Windows (经典) 和 Mac 中忽略此选项。

以下示例指定用于 bodyMode 遵循用户消息设置的选项。

Office.context.mailbox.item.body.getAsync(
  Office.CoercionType.Html,
  { bodyMode: Office.MailboxEnums.BodyMode.HostConfig },
  (bodyResult) => {
    if (bodyResult.status === Office.AsyncResultStatus.Failed) {
      console.log(`Failed to get body: ${bodyResult.error.message}`);
      return;
    }

    const body = bodyResult.value;

    // Perform additional operations here.
  }
);

在 Script Lab 中试用代码示例

获取 Outlook 加载项Script Lab,并试用项目正文代码示例,以查看获取和设置 API 的运行情况。 若要了解详细信息,请参阅使用 Script Lab 探索 Office JavaScript API

另请参阅