Compartilhar via


Tabelas de atividades de email

A atividade de email permite a você controlar e gerenciar 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 recebidas e enviadas 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 uma solicitação de email em massa é enviada ao Dataverse, uma operação assíncrona é criada na fila de serviço assíncrona que envia as mensagens de email usando um processo em segundo plano. Isso proporciona um melhor desempenho do sistema.

As mensagens SendBulkMailRequest e BackgroundSendEmailRequest são usadas para enviar e-mails em massa. A seguir, listamos a sequência usada para enviar emails 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 email, o Dynamics 365 para Outlook ou um componente de envio de email de terceiros consulta o Dataverse para encontrar mensagens de email pendentes e, se alguma for encontrada, faz o download 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. Mais informações: o Exchange Online limita os > limites de envio.

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

Anexos de email

Anexos de e-mail são arquivos que podem ser anexados a mensagens de e-mail ou modelos de e-mail. 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. O tamanho máximo dos arquivos que podem ser carregados é determinado pela propriedade Organization.MaxUploadFileSize . Essa propriedade é definida na guia Email das Configurações do Sistema no aplicativo Dynamics 365. Essa configuração limita o tamanho dos arquivos que podem ser anexados a mensagens de email, anotações e recursos da Web. A configuração padrão é 5 MB.

Para anexar um arquivo de email a uma mensagem de email ou a um modelo, use as colunas ActivityMimeAttachment.ObjectId e ActivityMimeAttachment.ObjectTypeCode 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 email a um modelo em vez de um email, você substituirá os valores dos atributos `ActivityMimeAttachment.ObjectId` e `ActivityMimeAttachment.ObjectTypeCode` da seguinte maneira no código acima:

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.

Reutilização de anexos de e-mail

Quando você cria um registro de anexo de email, o arquivo anexado é salvo como um arquivo BLOB. O ActivityMimeAttachment.AttachmentId atributo do registro de anexo de email identifica exclusivamente o arquivo BLOB. Isso é feito para facilitar a reutilização dos anexos de arquivo com outros registros de e-mail e modelo de e-mail, 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) armazenadas no Armazenamento de Blobs do Azure, determinadas limitações se aplicam a filtragem, localização e pesquisa de descrições de email, conforme descrito abaixo.

Filtragem

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

  • FetchXML – Você não poderá pesquisar em corpos de email usando FetchXML.
  • Localização Rápida e Localização Avançada – Não há suporte para filtragem de descrições de email usando esses métodos.

Dica

Para Localização Rápida, embora não haja suporte para filtragem, o corpo do email pode ser adicionado como uma coluna retornada e os dados do corpo serão retornados 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