Tabelas de atividades de email

A tabela de atividades de email ajuda você a acompanhar e gerenciar a comunicação por email com os clientes.

Ações em uma atividade de email

Usando os serviços Web do Dataverse, você pode executar as seguintes ações em uma atividade de email:

  • Crie, recupere, atualize e elimine a atividade de email.

  • Envie mensagens de email ou envie mensagens de email usando modelos de email (Template). Para obter mais informações sobre modelos de email, consulte Criar modelos de email.

  • Anexe arquivos como anexos usando o atributo (ActivityMimeAttachment) na mensagem de email.

  • Envie mensagens de email em massa.

  • Configure as mensagens de email recebidas a serem entregues pelo Microsoft Exchange Server para qualquer usuário ou fila, ou mensagens de saída a serem enviadas de qualquer usuário ou fila para o Microsoft Exchange Server.

    Se os atributos da Organization.RequireApprovalForuserEmail organização e Organization.RequireApprovalForQueueEmail (processar emails somente para usuários/filas aprovados) forem definidos como true (1), ocorrerá o seguinte: as mensagens de email serão entregues ou enviadas de um usuário ou fila somente se o endereço de email principal do usuário ou fila for aprovado. Os SystemUser.EmailRouterAccessApproval atributos e os Queue.EmailRouterAccessApproval indicam o status do endereço de e-mail principal do usuário e da fila, respectivamente, e o valor deve ser definido como 1. Caso contrário, as mensagens de entrada e saída serão bloqueadas. Você pode atualizar o registro de usuário ou fila para alterar o valor do atributo, se ele ainda não estiver no estado aprovado, desde que sua conta de usuário tenha o privilégio prvApproveRejectEmailAddress atribuído.

Observação

No Dataverse, o Email.StatusCode atributo não pode ser nulo.

Email em massa

O Dataverse dá suporte ao envio de email para uma grande lista de destinatários por meio de uma solicitação de email em massa. Quando você envia uma solicitação de email em massa para o Dataverse, ele cria uma operação assíncrona na fila de serviços assíncrona que envia as mensagens de email usando um processo em segundo plano. Esse processo melhora o desempenho do sistema.

Use as mensagens BackgroundSendEmailRequest e SendBulkMailRequest para enviar mensagens de e-mail em massa. A lista a seguir descreve a sequência usada para enviar email em massa:

  1. Execute a solicitação SendBulkMail. Essa solicitação contém uma consulta que seleciona os destinatários de email de destino e um modelo de email para compor cada email.

  2. O serviço assíncrono cria as atividades de email para cada destinatário.

  3. O serviço assíncrono envia cada mensagem de email. As mensagens de e-mail têm um status de envio "pendente".

  4. O roteador de e-mail, o Dynamics 365 para Outlook ou um componente de terceiros para envio de e-mail consulta o Dataverse em busca de mensagens de e-mail pendentes. Se encontrar um, ele baixará a mensagem usando a solicitação BackgroundSendEmail .

  5. A BackgroundSendEmail solicitação executa as seguintes operações: verifica se as mensagens de email pendentes estão presentes, baixa o email para o chamador da BackgroundSendEmailRequest mensagem e sincroniza os downloads se houver vários chamadores.

    Observação

    Seu provedor de serviços de email pode ter limites que afetam quantos emails você pode enviar dentro de um período de tempo. Para obter mais informações, consulte Limites do Exchange Online > Limites de envio.

  6. O chamador da BackgroundSendEmailRequest mensagem recebe a mensagem de email baixada e a envia.

Anexos de email

Anexos de email são arquivos que você pode anexar a mensagens de email ou modelos de email. Um arquivo anexado pode estar em qualquer formato de arquivo de computador padrão, como documentos do Office Outlook, planilhas do Office Excel, arquivos CAD e arquivos PDF. Você pode anexar vários arquivos como anexos de e-mail a um e-mail ou modelo de e-mail. A propriedade Organization.MaxUploadFileSize determina o tamanho máximo dos arquivos que você pode carregar. Defina essa propriedade na guia Email das Configurações do Sistema no aplicativo Dynamics 365. Essa configuração limita o tamanho dos arquivos que você pode anexar a mensagens de email, anotações e recursos da Web. A configuração padrão é 5 MB.

Para anexar um anexo de e-mail a uma mensagem de e-mail ou modelo, use as colunas ActivityMimeAttachment.ObjectTypeCode e ActivityMimeAttachment.ObjectId enquanto estiver criando ou atualizando uma linha de anexo MIME de atividade.

O exemplo de código a seguir mostra como anexar um anexo de email a um email:

ActivityMimeAttachment _sampleAttachment = new ActivityMimeAttachment{  
    ObjectId = new EntityReference(Email.EntityLogicalName, _emailId),  
    ObjectTypeCode = Email.EntityLogicalName,  
    Subject = "Sample Attachment",  
    Body = System.Convert.ToBase64String(new ASCIIEncoding().GetBytes("Example Attachment")),  
    FileName = "ExampleAttachment.txt"};  

Da mesma forma, para anexar o anexo de e-mail a um modelo em vez de a um e-mail, substitua os valores dos atributos ActivityMimeAttachment.ObjectTypeCode e ActivityMimeAttachment.ObjectId, da seguinte maneira, no código anterior:

ObjectId = new EntityReference(Template.EntityLogicalName, _templateId), ObjectTypeCode = Template.EntityLogicalName,  

Para obter um exemplo de código completo sobre como criar anexos de email, consulte Exemplo: Criar, recuperar, atualizar e excluir um anexo de email.

Reutilizando anexos de email

Quando você cria um registro de anexo de e-mail, o Dataverse salva o arquivo anexado como um BLOB. O ActivityMimeAttachment.AttachmentId atributo do registro de anexo de email identifica exclusivamente o arquivo BLOB. Esse processo facilita a reutilização de anexos de arquivo com outros registros de modelo de email e email, sem criar e armazenar várias cópias do mesmo arquivo no banco de dados.

Para reutilizar um anexo de arquivo existente:

  1. Recupere a ActivityMimeAttachment linha que contém o arquivo de anexo que você deseja reutilizar, conforme mostrado no exemplo de código a seguir:

    ActivityMimeAttachment retrievedAttachment = 
        (ActivityMimeAttachment)_serviceProxy
        .Retrieve(ActivityMimeAttachment.EntityLogicalName, _emailAttachmentId, new ColumnSet(true));  
    
  2. Crie um novo anexo de email, associe-o ao email exigido ou à linha do modelo de email, e direcione-o para o arquivo anexado da linha recuperada ActivityMimeAttachment, conforme mostrado no exemplo de código a seguir.

    ActivityMimeAttachment _reuseAttachment = new ActivityMimeAttachment{  
      ObjectId = new EntityReference(Email.EntityLogicalName, _emailId),  
      ObjectTypeCode = Email.EntityLogicalName,  
      Subject = "Sample Attachment",  
      AttachmentId = retrievedAttachment.AttachmentId};  
    

Como você está reutilizando um arquivo de anexo existente, não é necessário especificar os valores das colunas ActivityMimeAttachment.Body e ActivityMimeAttachment.FileName ao criar e associar linhas de anexo de e-mail a e-mails ou modelos de e-mail.

Armazenamento de email

As descrições de email (corpo do email) foram armazenadas até agora no repositório relacional do Dataverse. Isso está mudando conforme a coluna Email.Description na tabela de atividades de email está sendo realocada para o Armazenamento de Blobs do Azure desestruturado. O Armazenamento de Blobs do Azure também é usado para armazenamento de anexos, anotações, arquivos e imagens.

Período de transição

A migração de dados do repositório de relação do Dataverse para o Armazenamento de Blobs do Azure para todos os clientes deve começar em maio de 2023. Essa migração de dados ocorrerá como um processo em segundo plano (trabalho). Espera-se que a movimentação inicial de dados para clientes existentes dure cerca de 6 a 12 semanas e, possivelmente, ainda mais, dependendo do tamanho dos dados. Após a movimentação inicial de dados, qualquer migração restante é um processo contínuo. Todas as descrições de email com mais de doze meses serão movidas automaticamente para o Armazenamento de Blobs do Azure e esse período de transição de doze meses não pode ser alterado. Os e-mails mais recentes não serão movidos até que eles atinjam 12 meses de idade. O trabalho de migração de descrição de email é executado periodicamente - cerca de uma vez a cada 30 a 60 dias por locatário.

Essa migração de dados será transparente para você, com a exceção de que você verá uma redução no tamanho da tabela ActivityPointer depois que o processo de migração for totalmente concluído. No Centro de administração do Power Platform dentro do relatório Capacidade, um novo item de linha de email estará disponível no Uso de arquivo. O resultado final é um aumento no consumo geral de armazenamento de arquivos e redução no armazenamento de banco de dados consumido.

Observação

O aumento no armazenamento Arquivo pode ser menor que o que é removido da tabela ActivityPointer por causa da compactação de dados do arquivo.

As limitações mencionadas na próxima seção começarão a ser aplicadas a todos os dados que já foram movidos para o armazenamento de blobs do Azure gerenciado pelo Dataverse, mesmo que toda a movimentação de dados não esteja concluída.

Limitações de pesquisa e filtragem

Para descrições de email (corpos dos emails) armazenadas no Armazenamento de Blobs do Azure, certas limitações se aplicam para filtrar, localizar e pesquisar descrições de email, conforme descrito nas seções a seguir.

Filtragem

Não há suporte para filtragem em descrições de email. Alguns pontos específicos a serem considerados são:

  • FetchXML – Você não pode pesquisar em corpos de email usando FetchXML.
  • Localização Rápida e Localização Avançada – Você não pode filtrar descrições de email usando esses métodos.

Dica

No Quick Find, embora não haja suporte à filtragem, você pode adicionar o corpo do e-mail como uma coluna retornada e retornar os dados do corpo no resultado.

Buscando

Você pode habilitar a pesquisa do Dataverse em descrições de email para pesquisar descrições de email.

Consulte também

Tabelas de atividades
Exemplo: enviar um email
Tabela de email
Tabela ActivityMimeAttachment