Office.Body interface

O objeto body fornece métodos para adicionar e atualizar o conteúdo da mensagem ou compromisso. Ele é retornado na propriedade body do item selecionado.

Comentários

Conjunto de APIs: Caixa de Correio 1.1

Para saber como obter ou definir o corpo de um item de email, consulte Obter ou definir o corpo de uma mensagem ou compromisso no Outlook.

Problema conhecido com as cores da borda da tabela HTML

Outlook no Windows: Se você estiver definindo várias bordas de célula com cores diferentes em uma tabela HTML no modo Compose, as bordas de uma célula podem não refletir a cor esperada. Para o comportamento conhecido, visite OfficeDev/office-js issue #1818.

Nível mínimo de permissão: ler item

Modo do Outlook aplicável: Compose ou Ler

Usada por

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml

// 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;
  }

  // Add the Base64-encoded image to the end of the body.
  const options = { isInline: true, asyncContext: bodyResult.value };
  Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
    if (attachResult.status === Office.AsyncResultStatus.Failed) {
      console.log(`Failed to attach file: ${attachResult.error.message}`);
      return;
    }

    let body = attachResult.asyncContext;
    body += '<img src="cid:sample.png" />';

    Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
      if (setResult.status === Office.AsyncResultStatus.Failed) {
        console.log(`Failed to set body: ${setResult.error.message}`);
        return;
      }
      
      console.log("Inline Base64-encoded image added to the end of the body.");
    });
  });
});

Métodos

appendOnSendAsync(data, options, callback)

Acrescenta em envia o conteúdo especificado para o final do corpo do item, após qualquer assinatura.

Para usar appendOnSendAsynco , você deve especificar uma permissão suplementar no manifesto. Os detalhes variam de acordo com o tipo de manifesto. Consulte Noções básicas sobre permissões de suplemento do Outlook. Para saber mais sobre o append-on-send e sua configuração, confira Implementar o append-on-send no suplemento do Outlook.

appendOnSendAsync(data, callback)

Acrescenta em envia o conteúdo especificado para o final do corpo do item, após qualquer assinatura.

Para usar appendOnSendAsynco , você deve especificar uma permissão suplementar no manifesto. Os detalhes variam de acordo com o tipo de manifesto. Consulte Noções básicas sobre permissões de suplemento do Outlook. Para saber mais sobre o append-on-send e sua configuração, confira Implementar o append-on-send no suplemento do Outlook.

getAsync(coercionType, options, callback)

Retorna todo o corpo atual no formato especificado por coercionType.

getAsync(coercionType, callback)

Retorna todo o corpo atual no formato especificado por coercionType.

getTypeAsync(options, callback)

Obtém um valor que indica se o conteúdo está em formato HTML ou texto.

getTypeAsync(callback)

Obtém um valor que indica se o conteúdo está em formato HTML ou texto.

prependAsync(data, options, callback)

Adiciona o conteúdo especificado ao início do corpo do item.

prependAsync(data, callback)

Adiciona o conteúdo especificado ao início do corpo do item.

prependOnSendAsync(data, options, callback)

Acrescenta HTML ou texto sem formatação ao início de uma mensagem ou corpo de compromisso quando o item de email é enviado.

Para usar prependOnSendAsynco , você deve especificar uma permissão suplementar no manifesto. Os detalhes variam de acordo com o tipo de manifesto. Para obter orientação, consulte Noções básicas sobre permissões de suplemento do Outlook.

prependOnSendAsync(data, callback)

Acrescenta HTML ou texto sem formatação ao início de uma mensagem ou corpo de compromisso quando o item de email é enviado.

Para usar prependOnSendAsynco , você deve especificar uma permissão suplementar no manifesto. Os detalhes variam de acordo com o tipo de manifesto. Para obter orientação, consulte Noções básicas sobre permissões de suplemento do Outlook.

setAsync(data, options, callback)

Substitui todo o corpo com o texto especificado.

setAsync(data, callback)

Substitui todo o corpo com o texto especificado.

setSelectedDataAsync(data, options, callback)

Substitui a seleção no corpo pelo texto especificado.

O método setSelectedDataAsync insere a cadeia de caracteres especificada no local do cursor no corpo do item ou, se o texto estiver selecionado no editor, substitui o texto selecionado. Se o cursor nunca esteve no corpo do item, ou se o corpo do item perdeu o destaque na interface de usuário, a cadeia de caracteres será inserida na parte superior do conteúdo do corpo. Após a inserção, o cursor é colocado no final do conteúdo inserido.

setSelectedDataAsync(data, callback)

Substitui a seleção no corpo pelo texto especificado.

O método setSelectedDataAsync insere a cadeia de caracteres especificada no local do cursor no corpo do item ou, se o texto estiver selecionado no editor, substitui o texto selecionado. Se o cursor nunca esteve no corpo do item, ou se o corpo do item perdeu o destaque na interface de usuário, a cadeia de caracteres será inserida na parte superior do conteúdo do corpo. Após a inserção, o cursor é colocado no final do conteúdo inserido.

setSignatureAsync(data, options, callback)

Adiciona uma assinatura ao corpo do item se ele não tiver uma assinatura existente. Se já houver uma assinatura no corpo, o substituirá essa assinatura.

setSignatureAsync(data, callback)

Adiciona uma assinatura ao corpo do item se ele não tiver uma assinatura existente. Se já houver uma assinatura no corpo, o substituirá essa assinatura.

Detalhes do método

appendOnSendAsync(data, options, callback)

Acrescenta em envia o conteúdo especificado para o final do corpo do item, após qualquer assinatura.

Para usar appendOnSendAsynco , você deve especificar uma permissão suplementar no manifesto. Os detalhes variam de acordo com o tipo de manifesto. Consulte Noções básicas sobre permissões de suplemento do Outlook. Para saber mais sobre o append-on-send e sua configuração, confira Implementar o append-on-send no suplemento do Outlook.

appendOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

A cadeia de caracteres a ser adicionada ao final do corpo. A cadeia de caracteres é limitada a 5.000 caracteres.

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

Um literal de objeto que contém uma ou mais das seguintes propriedades: - asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejem acessar na função de retorno de chamada. coercionType : o formato desejado para os dados a serem acrescentados. A cadeia de caracteres no parâmetro data será convertida para este formato.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

Retornos

void

Comentários

Conjunto de APIs: Caixa de Correio 1.9

Nível mínimo de permissão: item de leitura/gravação

Modo do Outlook aplicável: Compose

Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.

Importante:

  • Se o usuário estiver executando suplementos que implementam o recurso ao enviar usando ItemSend o manifesto, o recurso de acréscimo ao enviar é executado antes da funcionalidade ao enviar.

  • Se o suplemento implementar o recurso ao enviar e chamar appendOnSendAsync o ItemSend manipulador, a appendOnSendAsync chamada retornará um erro, pois esse cenário não tem suporte.

  • Para limpar os dados de uma chamada anterior appendOnSendAsync , você pode chamá-la novamente com o data parâmetro definido como null.

  • Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.

  • O appendOnSendAsync método não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.

  • Não há suporte para o appendOnSendAsync método em uma mensagem carregada no momento usando o loadItemByIdAsync método. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.

Erros:

  • DataExceedsMaximumSize : O data parâmetro tem mais de 5.000 caracteres.

  • InvalidFormatError : O options.coercionType parâmetro está definido como, Office.CoercionType.Html mas o corpo da mensagem está em texto sem formatação.

Exemplos

// 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 = (document.getElementById("text-field") as HTMLInputElement).value;

// 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)

Acrescenta em envia o conteúdo especificado para o final do corpo do item, após qualquer assinatura.

Para usar appendOnSendAsynco , você deve especificar uma permissão suplementar no manifesto. Os detalhes variam de acordo com o tipo de manifesto. Consulte Noções básicas sobre permissões de suplemento do Outlook. Para saber mais sobre o append-on-send e sua configuração, confira Implementar o append-on-send no suplemento do Outlook.

appendOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

A cadeia de caracteres a ser adicionada ao final do corpo. A cadeia de caracteres é limitada a 5.000 caracteres.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

Retornos

void

Comentários

Conjunto de APIs: Caixa de Correio 1.9

Nível mínimo de permissão: item de leitura/gravação

Modo do Outlook aplicável: Compose

Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.

Importante:

  • Se o usuário estiver executando suplementos que implementam o recurso ao enviar usando ItemSend o manifesto, o recurso de acréscimo ao enviar é executado antes da funcionalidade ao enviar.

  • Se o suplemento implementar o recurso ao enviar e chamar appendOnSendAsync o ItemSend manipulador, a appendOnSendAsync chamada retornará um erro, pois esse cenário não tem suporte.

  • Para limpar os dados de uma chamada anterior appendOnSendAsync , você pode chamá-la novamente com o data parâmetro definido como null.

  • Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.

  • O appendOnSendAsync método não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.

  • Não há suporte para o appendOnSendAsync método em uma mensagem carregada no momento usando o loadItemByIdAsync método. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.

Erros:

  • DataExceedsMaximumSize : O data parâmetro tem mais de 5.000 caracteres.

  • InvalidFormatError : O options.coercionType parâmetro está definido como, Office.CoercionType.Html mas o corpo da mensagem está em texto sem formatação.

getAsync(coercionType, options, callback)

Retorna todo o corpo atual no formato especificado por coercionType.

getAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions & { bodyMode?: MailboxEnums.BodyMode }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Parâmetros

coercionType

Office.CoercionType | string

O formato do corpo retornado.

options

Office.AsyncContextOptions & { bodyMode?: Office.MailboxEnums.BodyMode }

Um objeto literal que contém uma ou mais das propriedades a seguir. asyncContext : todos os dados que você deseja acessar na função de retorno de chamada. bodyMode : No Outlook na Web, em dispositivos móveis e no novo Outlook no Windows, especifica se apenas o corpo da mensagem atual ou todo o corpo de uma conversa de mensagem é retornado. Se um valor não for especificado, bodyMode o padrão é Office.MailboxEnums.BodyMode.FullBody, que retorna todo o corpo de uma conversa de mensagem. A bodyMode propriedade só se aplica a respostas na superfície de Compose de Mensagem. Ela é ignorada no Outlook no Windows (clássico) e no Mac.

callback

(asyncResult: Office.AsyncResult<string>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. O corpo é fornecido no formato solicitado na asyncResult.value propriedade.

Retornos

void

Comentários

Conjunto de APIs: Caixa de correio 1.3

Nível mínimo de permissão: ler item

Modo do Outlook aplicável: Compose ou Ler

Importante:

  • Ao trabalhar com corpos formatados em HTML, é importante observar que o Body.getAsync valor retornado pelo método não será necessariamente o mesmo valor que foi passado anteriormente no Body.setAsync método. O cliente pode modificar o valor passado para setAsync torná-lo renderizado com eficiência com seu mecanismo de renderização.

  • No Outlook na Web e no novo Outlook no Windows, a especificação Office.CoercionType.Text na getAsync chamada nem sempre fornece uma formatação confiável. Em vez disso, especifique Office.CoercionType.Html especialmente se o corpo contiver elementos formatados, como tabelas, listas e links.

  • No Outlook na Web e no novo Outlook no Windows, os usuários podem organizar suas mensagens como conversas ou mensagens individuais em Configurações> Organização damensagemde layout>de email> (consulte Alterar como a lista de mensagens é exibida no Outlook). Essa configuração afeta o quanto do corpo de uma mensagem é exibido para o usuário (ou seja, todo o thread de conversa de uma mensagem ou apenas a mensagem atual). No modo Message Compose, especialmente para respostas a um tópico de conversa com mais de uma mensagem, se você quiser que o corpo retornado reflita a configuração do usuário, especifique o bodyMode: Office.MailboxEnums.BodyMode.HostConfig parâmetro em sua getAsync chamada. Se as mensagens forem agrupadas por conversa, apenas o corpo da resposta atual será retornado. Por outro lado, se as mensagens forem exibidas individualmente, todo o thread da conversa será retornado.

  • No Outlook em dispositivos móveis, a bodyMode propriedade está disponível a partir da versão 4.2538.0.

  • No Outlook em dispositivos móveis, especificar bodyMode: Office.MailboxEnums.BodyMode.HostConfig retorna o corpo da resposta atual.

  • No Outlook em dispositivos móveis, enquanto estiver no modo de resposta rápida (o campo resposta na parte inferior da mensagem), somente o corpo da resposta atual é retornado. Isso se aplica mesmo se bodyMode: Office.MailboxEnums.BodyMode.FullBody for especificado na getAsync chamada.

  • A bodyMode opção não é compatível com uma mensagem carregada usando o loadItemByIdAsync método. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.

getAsync(coercionType, callback)

Retorna todo o corpo atual no formato especificado por coercionType.

getAsync(coercionType: Office.CoercionType | string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Parâmetros

coercionType

Office.CoercionType | string

O formato do corpo retornado.

callback

(asyncResult: Office.AsyncResult<string>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. O corpo é fornecido no formato solicitado na asyncResult.value propriedade.

Retornos

void

Comentários

Conjunto de APIs: Caixa de correio 1.3

Nível mínimo de permissão: ler item

Modo do Outlook aplicável: Compose ou Ler

Importante:

  • Ao trabalhar com corpos formatados em HTML, é importante observar que o Body.getAsync valor retornado pelo método não será necessariamente o mesmo valor que foi passado anteriormente no Body.setAsync método. O cliente pode modificar o valor passado para setAsync torná-lo renderizado com eficiência com seu mecanismo de renderização.

  • No Outlook na Web e no novo Outlook no Windows, a especificação Office.CoercionType.Text na getAsync chamada nem sempre fornece uma formatação confiável. Em vez disso, especifique Office.CoercionType.Html especialmente se o corpo contiver elementos formatados, como tabelas, listas e links.

  • No Outlook na Web e no novo Outlook no Windows, os usuários podem organizar suas mensagens como conversas ou mensagens individuais em Configurações> Organização damensagemde layout>de email> (consulte Alterar como a lista de mensagens é exibida no Outlook). Essa configuração afeta o quanto do corpo de uma mensagem é exibido para o usuário (ou seja, todo o thread de conversa de uma mensagem ou apenas a mensagem atual). No modo Message Compose, especialmente para respostas a um tópico de conversa com mais de uma mensagem, se você quiser que o corpo retornado reflita a configuração do usuário, especifique o bodyMode: Office.MailboxEnums.BodyMode.HostConfig parâmetro em sua getAsync chamada. Se as mensagens forem agrupadas por conversa, apenas o corpo da resposta atual será retornado. Por outro lado, se as mensagens forem exibidas individualmente, todo o thread da conversa será retornado.

  • No Outlook em dispositivos móveis, a bodyMode propriedade está disponível a partir da versão 4.2538.0.

  • No Outlook em dispositivos móveis, especificar bodyMode: Office.MailboxEnums.BodyMode.HostConfig retorna o corpo da resposta atual.

  • No Outlook em dispositivos móveis, enquanto estiver no modo de resposta rápida (o campo resposta na parte inferior da mensagem), somente o corpo da resposta atual é retornado. Isso se aplica mesmo se bodyMode: Office.MailboxEnums.BodyMode.FullBody for especificado na getAsync chamada.

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml

// 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;
  }

  // Add the Base64-encoded image to the end of the body.
  const options = { isInline: true, asyncContext: bodyResult.value };
  Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
    if (attachResult.status === Office.AsyncResultStatus.Failed) {
      console.log(`Failed to attach file: ${attachResult.error.message}`);
      return;
    }

    let body = attachResult.asyncContext;
    body += '<img src="cid:sample.png" />';

    Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
      if (setResult.status === Office.AsyncResultStatus.Failed) {
        console.log(`Failed to set body: ${setResult.error.message}`);
        return;
      }
      
      console.log("Inline Base64-encoded image added to the end of the body.");
    });
  });
});

getTypeAsync(options, callback)

Obtém um valor que indica se o conteúdo está em formato HTML ou texto.

getTypeAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;

Parâmetros

options
Office.AsyncContextOptions

Um literal de objeto que contém uma ou mais das seguintes propriedades: - asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejem acessar na função de retorno de chamada.

callback

(asyncResult: Office.AsyncResult<Office.CoercionType>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. O tipo de conteúdo é retornado como um dos CoercionType valores na asyncResult.value propriedade.

Retornos

void

Comentários

Conjunto de APIs: Caixa de Correio 1.1

Nível mínimo de permissão: ler item

Modo do Outlook aplicável: Compose

Importante: no Outlook no Android e no iOS, esse método não é compatível com o modo Message Compose. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook para dispositivos móveis, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

Exemplos

// 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)

Obtém um valor que indica se o conteúdo está em formato HTML ou texto.

getTypeAsync(callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;

Parâmetros

callback

(asyncResult: Office.AsyncResult<Office.CoercionType>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. O tipo de conteúdo é retornado como um dos CoercionType valores na asyncResult.value propriedade.

Retornos

void

Comentários

Conjunto de APIs: Caixa de Correio 1.1

Nível mínimo de permissão: ler item

Modo do Outlook aplicável: Compose

Importante: no Outlook no Android e no iOS, esse método não é compatível com o modo Message Compose. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook para dispositivos móveis, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

prependAsync(data, options, callback)

Adiciona o conteúdo especificado ao início do corpo do item.

prependAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

A cadeia de caracteres a ser inserida no início do corpo. A cadeia de caracteres está limitada a 1.000.000 de caracteres.

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

Um literal de objeto que contém uma ou mais das seguintes propriedades: - asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejem acessar na função de retorno de chamada. coercionType : O formato desejado para o corpo. A cadeia de caracteres no parâmetro data será convertida para este formato.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

Retornos

void

Comentários

Conjunto de APIs: Caixa de Correio 1.1

Nível mínimo de permissão: item de leitura/gravação

Modo do Outlook aplicável: Compose

Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.

Importante:

  • Depois que o conteúdo é anexado, a posição do cursor depende de qual cliente o suplemento está executando. No Outlook na Web e no Windows (novo e clássico), a posição do cursor permanece a mesma no conteúdo preexistente do corpo. Por exemplo, se o cursor foi posicionado no início do corpo antes da prependAsync chamada, ele aparecerá entre o conteúdo prefixado e o conteúdo preexistente do corpo após a chamada. No Outlook no Mac, a posição do cursor não é preservada. O cursor desaparece após a prependAsync chamada e só reaparece quando o usuário seleciona algo no corpo do item de email.

  • Ao trabalhar com corpos formatados em HTML, é importante observar que o cliente pode modificar o valor passado para prependAsync torná-lo renderizado com eficiência com seu mecanismo de renderização. Isso significa que o valor retornado de uma chamada subsequente para o método (introduzido Body.getAsync na Caixa de Correio 1.3) não conterá necessariamente o valor exato que foi passado na chamada anterior prependAsync .

  • Ao incluir links na marcação HTML, você pode desativar a visualização de link online definindo o id atributo na âncora (<a>) como "LPNoLP". Por exemplo, '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.

  • No Outlook no Android e no iOS, esse método não é compatível com o modo de Compose de Mensagem. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook para dispositivos móveis, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

  • Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.

  • O prependAsync método não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.

  • Não há suporte para o prependAsync método em uma mensagem carregada no momento usando o loadItemByIdAsync método. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.

Erros:

  • DataExceedsMaximumSize : O parâmetro de dados tem mais de 1.000.000 caracteres.

Exemplos

// 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 = (document.getElementById("text-field") as HTMLInputElement).value;

// 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)

Adiciona o conteúdo especificado ao início do corpo do item.

prependAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

A cadeia de caracteres a ser inserida no início do corpo. A cadeia de caracteres está limitada a 1.000.000 de caracteres.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

Retornos

void

Comentários

Conjunto de APIs: Caixa de Correio 1.1

Nível mínimo de permissão: item de leitura/gravação

Modo do Outlook aplicável: Compose

Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.

Importante:

  • Depois que o conteúdo é anexado, a posição do cursor depende de qual cliente o suplemento está executando. No Outlook na Web e no Windows (novo e clássico), a posição do cursor permanece a mesma no conteúdo preexistente do corpo. Por exemplo, se o cursor foi posicionado no início do corpo antes da prependAsync chamada, ele aparecerá entre o conteúdo prefixado e o conteúdo preexistente do corpo após a chamada. No Outlook no Mac, a posição do cursor não é preservada. O cursor desaparece após a prependAsync chamada e só reaparece quando o usuário seleciona algo no corpo do item de email.

  • Ao trabalhar com corpos formatados em HTML, é importante observar que o cliente pode modificar o valor passado para prependAsync torná-lo renderizado com eficiência com seu mecanismo de renderização. Isso significa que o valor retornado de uma chamada subsequente para o método (introduzido Body.getAsync na Caixa de Correio 1.3) não conterá necessariamente o valor exato que foi passado na chamada anterior prependAsync .

  • Ao incluir links na marcação HTML, você pode desativar a visualização de link online definindo o id atributo na âncora (<a>) como "LPNoLP". Por exemplo, '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.

  • No Outlook no Android e no iOS, esse método não é compatível com o modo de Compose de Mensagem. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook para dispositivos móveis, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

  • Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.

  • O prependAsync método não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.

  • Não há suporte para o prependAsync método em uma mensagem carregada no momento usando o loadItemByIdAsync método. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.

Erros:

  • DataExceedsMaximumSize : O parâmetro de dados tem mais de 1.000.000 caracteres.

prependOnSendAsync(data, options, callback)

Acrescenta HTML ou texto sem formatação ao início de uma mensagem ou corpo de compromisso quando o item de email é enviado.

Para usar prependOnSendAsynco , você deve especificar uma permissão suplementar no manifesto. Os detalhes variam de acordo com o tipo de manifesto. Para obter orientação, consulte Noções básicas sobre permissões de suplemento do Outlook.

prependOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

A cadeia de caracteres a ser anexada ao início da mensagem ou do corpo do compromisso. A cadeia de caracteres é limitada a 5.000 caracteres.

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

Um literal de objeto que contém uma ou mais das seguintes propriedades:- asyncContext: Qualquer objeto que pode ser acessado na função de retorno de chamada. coercionType : O formato desejado para o corpo. A cadeia de caracteres no data parâmetro é convertida nesse formato.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

Retornos

void

Comentários

Conjunto de APIs: Caixa de correio 1.13

Nível mínimo de permissão: item de leitura/gravação

Modo do Outlook aplicável: Compose

Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.

Importante: ao implementar prependOnSendAsync, lembre-se do seguinte.

  • Em um suplemento de Alertas inteligentes, o recurso preceder ao enviar é executado primeiro.

  • Uma nova linha é adicionada após o conteúdo prefixado.

  • Se vários suplementos ativos chamarem prependOnSendAsync, a ordem do conteúdo inserido dependerá da ordem em que o suplemento é executado. O conteúdo do suplemento de última execução aparece acima do conteúdo anexado anteriormente.

  • Se o suplemento tentar inserir HTML em um corpo de texto sem formatação, o conteúdo não será acrescentado. Por outro lado, o texto sem formatação será inserido em um corpo HTML.

  • Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.

  • O prependOnSendAsync método não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.

  • Não há suporte para o prependOnSendAsync método em uma mensagem carregada no momento usando o loadItemByIdAsync método. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.

Erros:

  • DataExceedsMaximumSize : o data parâmetro excede 5.000 caracteres.

  • InvalidFormatError : O options.coercionType parâmetro é definido como Office.CoercionType.Html, mas o corpo do item está no formato de texto sem formatação.

Exemplos

// 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 = (document.getElementById("text-field") as HTMLInputElement).value;

// 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)

Acrescenta HTML ou texto sem formatação ao início de uma mensagem ou corpo de compromisso quando o item de email é enviado.

Para usar prependOnSendAsynco , você deve especificar uma permissão suplementar no manifesto. Os detalhes variam de acordo com o tipo de manifesto. Para obter orientação, consulte Noções básicas sobre permissões de suplemento do Outlook.

prependOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

A cadeia de caracteres a ser anexada ao início da mensagem ou do corpo do compromisso. A cadeia de caracteres é limitada a 5.000 caracteres.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

Retornos

void

Comentários

Conjunto de APIs: Caixa de correio 1.13

Nível mínimo de permissão: item de leitura/gravação

Modo do Outlook aplicável: Compose

Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.

Importante: ao implementar prependOnSendAsync, lembre-se do seguinte.

  • Em um suplemento de Alertas inteligentes, o recurso preceder ao enviar é executado primeiro.

  • Uma nova linha é adicionada após o conteúdo prefixado.

  • Se vários suplementos ativos chamarem prependOnSendAsync, a ordem do conteúdo inserido dependerá da ordem em que o suplemento é executado. O conteúdo do suplemento de última execução aparece acima do conteúdo anexado anteriormente.

  • Se o suplemento tentar inserir HTML em um corpo de texto sem formatação, o conteúdo não será acrescentado. Por outro lado, o texto sem formatação será inserido em um corpo HTML.

  • Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.

  • O prependOnSendAsync método não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.

  • Não há suporte para o prependOnSendAsync método em uma mensagem carregada no momento usando o loadItemByIdAsync método. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.

Erros:

  • DataExceedsMaximumSize : o data parâmetro excede 5.000 caracteres.

  • InvalidFormatError : O options.coercionType parâmetro é definido como Office.CoercionType.Html, mas o corpo do item está no formato de texto sem formatação.

setAsync(data, options, callback)

Substitui todo o corpo com o texto especificado.

setAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions & { bodyMode?: MailboxEnums.BodyMode }, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

A cadeia de caracteres que substitui o corpo existente. A cadeia de caracteres está limitada a 1.000.000 de caracteres.

options

Office.AsyncContextOptions & Office.CoercionTypeOptions & { bodyMode?: Office.MailboxEnums.BodyMode }

Um objeto literal que contém uma ou mais das propriedades a seguir. asyncContext : todos os dados que você deseja acessar na função de retorno de chamada. coercionType : O formato desejado para o corpo. A cadeia de caracteres no data parâmetro é convertida nesse formato. bodyMode : No Outlook na Web e no novo Outlook no Windows, especifica se apenas o corpo da mensagem atual ou todo o corpo de uma conversa de mensagem está definido. Se um valor não for especificado, bodyMode o padrão é Office.MailboxEnums.BodyMode.FullBody, que substitui todo o corpo, incluindo as mensagens anteriores no thread da conversa. A bodyMode propriedade só se aplica a respostas na superfície de Compose de Mensagem. Ela é ignorada no Outlook no Windows (clássico), no Mac e em dispositivos móveis.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

Retornos

void

Comentários

Conjunto de APIs: Caixa de correio 1.3

Nível mínimo de permissão: item de leitura/gravação

Modo do Outlook aplicável: Compose

Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.

Importante:

  • Depois que o corpo é substituído pelo conteúdo especificado, a posição do cursor depende de qual cliente o suplemento está executando. No Outlook clássico no Windows, o cursor aparece no início do corpo do item de email. No Outlook na Web e no novo Outlook no Windows, o cursor aparece no final do corpo do item de email. No Outlook no Mac, a posição do cursor não é preservada. O cursor desaparece após a prependAsync chamada e só reaparece quando o usuário seleciona algo no corpo do item de email.

  • Ao trabalhar com corpos formatados em HTML, é importante observar que o Body.getAsync valor retornado pelo método não será necessariamente o mesmo valor que foi passado anteriormente no Body.setAsync método. O cliente pode modificar o valor passado para setAsync torná-lo renderizado com eficiência com seu mecanismo de renderização.

  • Ao incluir links na marcação HTML, você pode desativar a visualização de link online definindo o id atributo na âncora (<a>) como "LPNoLP". Por exemplo, '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.

  • No Outlook no Windows (clássico) e no Mac, o usuário do suplemento não pode reverter essa ação com o comando Desfazer.

  • No Outlook no Android e no iOS, esse método não é compatível com o modo de Compose de Mensagem. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook para dispositivos móveis, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

  • Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.

  • O setAsync método não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.

  • Não há suporte para o setAsync método em uma mensagem carregada no momento usando o loadItemByIdAsync método. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.

  • No Outlook na Web e no novo Outlook no Windows, os usuários podem organizar suas mensagens como conversas ou mensagens individuais em Configurações> Organização damensagemde layout>de email> (consulte Alterar como a lista de mensagens é exibida no Outlook). Essa configuração afeta o quanto do corpo de uma mensagem é exibido para o usuário (ou seja, todo o thread de conversa de uma mensagem ou apenas a mensagem atual). No modo Message Compose, especialmente para respostas a um tópico de conversa com mais de uma mensagem, se você quiser respeitar as configurações do usuário ao definir o corpo de uma mensagem, especifique o bodyMode: Office.MailboxEnums.BodyMode.HostConfig parâmetro em sua setAsync chamada. Se as mensagens forem agrupadas por conversa, somente o corpo da resposta atual será definido. Por outro lado, se as mensagens forem exibidas individualmente, todo o corpo, incluindo as mensagens anteriores no thread de conversa, será substituído.

  • No Outlook na Web e no novo Outlook no Windows, se a propriedade não estiver especificada ou estiver definida como Office.MailboxEnums.BodyMode.FullBody, todo o bodyMode corpo de uma mensagem, incluindo as mensagens anteriores do thread de conversa, será substituído. Isso se aplica mesmo se as mensagens de um usuário forem organizadas por conversa. Nesse cenário, a configuração do usuário é alterada temporariamente para Mensagens individuais: Não agrupar mensagens>Apenas uma única mensagem ou Mostrar email como mensagens individuais durante a setAsync chamada. Uma notificação é mostrada ao usuário para alertá-lo sobre essa alteração. Quando a chamada for concluída, a configuração do usuário será restabelecida.

Erros:

  • DataExceedsMaximumSize : O parâmetro de dados tem mais de 1.000.000 caracteres.

  • InvalidFormatError : O options.coercionType parâmetro é definido como Office.CoercionType.Html e o corpo da mensagem está em texto sem formatação.

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml

// 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;
  }

  // Add the Base64-encoded image to the end of the body.
  const options = { isInline: true, asyncContext: bodyResult.value };
  Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
    if (attachResult.status === Office.AsyncResultStatus.Failed) {
      console.log(`Failed to attach file: ${attachResult.error.message}`);
      return;
    }

    let body = attachResult.asyncContext;
    body += '<img src="cid:sample.png" />';

    Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
      if (setResult.status === Office.AsyncResultStatus.Failed) {
        console.log(`Failed to set body: ${setResult.error.message}`);
        return;
      }
      
      console.log("Inline Base64-encoded image added to the end of the body.");
    });
  });
});

setAsync(data, callback)

Substitui todo o corpo com o texto especificado.

setAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

A cadeia de caracteres que substituirá o corpo existente. A cadeia de caracteres está limitada a 1.000.000 de caracteres.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

Retornos

void

Comentários

Conjunto de APIs: Caixa de correio 1.3

Nível mínimo de permissão: item de leitura/gravação

Modo do Outlook aplicável: Compose

Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.

Importante:

  • Depois que o corpo é substituído pelo conteúdo especificado, a posição do cursor depende de qual cliente o suplemento está executando. No Outlook clássico no Windows, o cursor aparece no início do corpo do item de email. No Outlook na Web e no novo Outlook no Windows, o cursor aparece no final do corpo do item de email. No Outlook no Mac, a posição do cursor não é preservada. O cursor desaparece após a prependAsync chamada e só reaparece quando o usuário seleciona algo no corpo do item de email.

  • Ao trabalhar com corpos formatados em HTML, é importante observar que o Body.getAsync valor retornado pelo método não será necessariamente o mesmo valor que foi passado anteriormente no Body.setAsync método. O cliente pode modificar o valor passado para setAsync torná-lo renderizado com eficiência com seu mecanismo de renderização.

  • Ao incluir links na marcação HTML, você pode desativar a visualização de link online definindo o id atributo na âncora (<a>) como "LPNoLP". Por exemplo, '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.

  • No Outlook no Windows (clássico) e no Mac, o usuário do suplemento não pode reverter essa ação com o comando Desfazer.

  • No Outlook no Android e no iOS, esse método não é compatível com o modo de Compose de Mensagem. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook para dispositivos móveis, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

  • Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.

  • O setAsync método não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.

  • Não há suporte para o setAsync método em uma mensagem carregada no momento usando o loadItemByIdAsync método. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.

  • No Outlook na Web e no novo Outlook no Windows, os usuários podem organizar suas mensagens como conversas ou mensagens individuais em Configurações> Organização damensagemde layout>de email> (consulte Alterar como a lista de mensagens é exibida no Outlook). Essa configuração afeta o quanto do corpo de uma mensagem é exibido para o usuário (ou seja, todo o thread de conversa de uma mensagem ou apenas a mensagem atual). No modo Message Compose, especialmente para respostas em um tópico de conversa com mais de uma mensagem, se você quiser respeitar as configurações do usuário ao definir o corpo de uma mensagem, especifique o bodyMode: Office.MailboxEnums.BodyMode.HostConfig parâmetro em sua setAsync chamada. Se as mensagens forem agrupadas por conversa, somente o corpo da resposta atual será definido. Por outro lado, se as mensagens forem exibidas individualmente, todo o corpo, incluindo as mensagens anteriores no thread de conversa, será substituído.

  • No Outlook na Web e no novo Outlook no Windows, se a propriedade não estiver especificada ou estiver definida como Office.MailboxEnums.BodyMode.FullBody, todo o bodyMode corpo de uma mensagem, incluindo as mensagens anteriores do thread de conversa, será substituído. Isso se aplica mesmo se as mensagens de um usuário forem organizadas por conversa. Nesse cenário, a configuração do usuário é alterada temporariamente para Mensagens individuais: Não agrupar mensagens>Apenas uma única mensagem ou Mostrar email como mensagens individuais durante a setAsync chamada. Uma notificação é mostrada ao usuário para alertá-lo sobre essa alteração. Quando a chamada for concluída, a configuração do usuário será restabelecida.

Erros:

  • DataExceedsMaximumSize : O parâmetro de dados tem mais de 1.000.000 caracteres.

  • InvalidFormatError : O options.coercionType parâmetro é definido como Office.CoercionType.Html e o corpo da mensagem está em texto sem formatação.

setSelectedDataAsync(data, options, callback)

Substitui a seleção no corpo pelo texto especificado.

O método setSelectedDataAsync insere a cadeia de caracteres especificada no local do cursor no corpo do item ou, se o texto estiver selecionado no editor, substitui o texto selecionado. Se o cursor nunca esteve no corpo do item, ou se o corpo do item perdeu o destaque na interface de usuário, a cadeia de caracteres será inserida na parte superior do conteúdo do corpo. Após a inserção, o cursor é colocado no final do conteúdo inserido.

setSelectedDataAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

A cadeia de caracteres que substituirá o corpo existente. A cadeia de caracteres está limitada a 1.000.000 de caracteres.

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

Um literal de objeto que contém uma ou mais das seguintes propriedades: - asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejem acessar na função de retorno de chamada. coercionType : O formato desejado para o corpo. A cadeia de caracteres no parâmetro data será convertida para este formato.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

Retornos

void

Comentários

Conjunto de APIs: Caixa de Correio 1.1

Nível mínimo de permissão: item de leitura/gravação

Modo do Outlook aplicável: Compose

Recomendado: chame getTypeAsync e passe o valor retornado para o options.coercionType parâmetro.

Importante:

  • Ao incluir links na marcação HTML, você pode desativar a visualização de link online definindo o id atributo na âncora (<a>) como "LPNoLP". Por exemplo, '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.

  • Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.

  • O setSelectedDataAsync método não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.

  • Não há suporte para o setSelectedDataAsync método em uma mensagem carregada no momento usando o loadItemByIdAsync método. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.

Erros:

  • DataExceedsMaximumSize : o data parâmetro tem mais de 1.000.000 caracteres.

  • InvalidFormatError : O options.coercionType parâmetro é definido como Office.CoercionType.Html e o corpo da mensagem está em texto sem formatação.

Exemplos

// 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 = (document.getElementById("text-field") as HTMLInputElement).value;

// 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)

Substitui a seleção no corpo pelo texto especificado.

O método setSelectedDataAsync insere a cadeia de caracteres especificada no local do cursor no corpo do item ou, se o texto estiver selecionado no editor, substitui o texto selecionado. Se o cursor nunca esteve no corpo do item, ou se o corpo do item perdeu o destaque na interface de usuário, a cadeia de caracteres será inserida na parte superior do conteúdo do corpo. Após a inserção, o cursor é colocado no final do conteúdo inserido.

setSelectedDataAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

A cadeia de caracteres que substituirá o corpo existente. A cadeia de caracteres está limitada a 1.000.000 de caracteres.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

Retornos

void

Comentários

Conjunto de APIs: Caixa de Correio 1.1

Nível mínimo de permissão: item de leitura/gravação

Modo do Outlook aplicável: Compose

Recomendado: chame getTypeAsync e passe o valor retornado para o options.coercionType parâmetro.

Importante:

  • Ao incluir links na marcação HTML, você pode desativar a visualização de link online definindo o id atributo na âncora (<a>) como "LPNoLP". Por exemplo, '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.

  • Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.

  • O setSelectedDataAsync método não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.

  • Não há suporte para o setSelectedDataAsync método em uma mensagem carregada no momento usando o loadItemByIdAsync método. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.

Erros:

  • DataExceedsMaximumSize : o data parâmetro tem mais de 1.000.000 caracteres.

  • InvalidFormatError : O options.coercionType parâmetro é definido como Office.CoercionType.Html e o corpo da mensagem está em texto sem formatação.

setSignatureAsync(data, options, callback)

Adiciona uma assinatura ao corpo do item se ele não tiver uma assinatura existente. Se já houver uma assinatura no corpo, o substituirá essa assinatura.

setSignatureAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

A cadeia de caracteres que representa a assinatura a ser definida no corpo do email. Essa cadeia de caracteres é limitada a 30.000 caracteres.

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

Um literal de objeto que contém uma ou mais das seguintes propriedades: - asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejem acessar na função de retorno de chamada. coercionType : o formato como a assinatura deve ser definida. Se for Text, o método definirá a assinatura como texto sem formatação, removendo todas as marcas HTML presentes. Se for html, o método definirá a assinatura como HTML.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult.

Retornos

void

Comentários

Conjunto de APIs: Caixa de Correio 1.10

Nível mínimo de permissão: item de leitura/gravação

Modo do Outlook aplicável: Compose

Importante:

Erros:

  • DataExceedsMaximumSize : O data parâmetro tem mais de 30.000 caracteres.

  • InvalidFormatError : O options.coercionType parâmetro é definido como Office.CoercionType.Html e o corpo da mensagem está em texto sem formatação.

Exemplos

// 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 = (document.getElementById("signature") as HTMLInputElement).value + "<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 = (document.getElementById("signature") as HTMLInputElement).value;
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)

Adiciona uma assinatura ao corpo do item se ele não tiver uma assinatura existente. Se já houver uma assinatura no corpo, o substituirá essa assinatura.

setSignatureAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

A cadeia de caracteres que representa a assinatura a ser definida no corpo do email. Essa cadeia de caracteres é limitada a 30.000 caracteres.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult.

Retornos

void

Comentários

Conjunto de APIs: Caixa de Correio 1.10

Nível mínimo de permissão: item de leitura/gravação

Modo do Outlook aplicável: Compose

Importante:

Erros:

  • DataExceedsMaximumSize : O data parâmetro tem mais de 30.000 caracteres.

  • InvalidFormatError : O options.coercionType parâmetro é definido como Office.CoercionType.Html e o corpo da mensagem está em texto sem formatação.