Partager via


Tables d’activité de courrier électronique

L’activité de courrier électronique vous permet de suivre et de gérer les communications par courrier électronique avec les clients.

Actions sur une activité de messagerie

À l’aide des services web Dataverse, vous pouvez effectuer les actions suivantes sur une activité de messagerie :

  • Créer, extraire, mettre à jour et supprimer l’activité de courrier électronique.

  • Envoyez des e-mails ou envoyez-les à l’aide de modèles d’e-mails (Template). Pour plus d’informations sur les modèles de messagerie, consultez Créer des modèles de messagerie.

  • Joignez des fichiers en tant que pièces jointes à l’aide de l’attribut (ActivityMimeAttachment) dans le message électronique.

  • Envoyer des messages électroniques en publipostage ou en nombre.

  • Configurer les messages électroniques entrants à livrer à un utilisateur ou à une file d’attente depuis Microsoft Exchange Server, ou les messages sortants à envoyer depuis un utilisateur ou une file d’attente à Microsoft Exchange Server.

    Si les attributs d’organisation Organization.RequireApprovalForuserEmail et Organization.RequireApprovalForQueueEmail (traiter les e-mails uniquement pour les utilisateurs/files d’attente approuvés) sont définis sur true (1), les événements suivants se produisent : les e-mails ne sont remis ou envoyés à partir d’un utilisateur ou d’une file d’attente que si l’adresse e-mail principale de l’utilisateur ou de la file d’attente est approuvée. Les attributs SystemUser.EmailRouterAccessApproval et Queue.EmailRouterAccessApproval indiquent respectivement l’état de l’adresse e-mail principale de l’utilisateur et de la file d’attente, et la valeur doit être définie sur 1. Sinon, les messages entrants et sortants seront bloqués. Vous pouvez mettre à jour l’enregistrement utilisateur ou de file d’attente pour modifier la valeur d’attribut, si elle n’est pas déjà dans l’état approuvé, à condition que votre compte d’utilisateur dispose du privilège prvApproveRejectEmailAddress affecté.

Note

Dans Dataverse, l’attribut Email.StatusCode ne peut pas être null.

Courrier électronique en bloc

Dataverse prend en charge l’envoi d’e-mails à une grande liste de destinataires par le biais d’une demande de courrier en bloc. Lorsqu’une demande de messagerie en bloc est envoyée à Dataverse, une opération asynchrone est créée dans la file d’attente de service asynchrone qui envoie les messages électroniques à l’aide d’un processus en arrière-plan. Cela vous permet d’améliorer les performances du système.

Les SendBulkMailRequest messages et BackgroundSendEmailRequest sont utilisés pour l’envoi de messages électroniques en masse. Voici la séquence utilisée pour envoyer des e-mails en masse :

  1. Exécutez la SendBulkMail demande. Cette demande contient une requête qui sélectionne les destinataires de l’e-mail cible et un modèle d’e-mail pour la rédaction de chaque e-mail.

  2. Le service asynchrone crée les activités d’e-mail pour chaque destinataire.

  3. Le service asynchrone envoie chaque message électronique. Les messages électroniques ont un statut d’envoi « en attente ».

  4. Le routeur de messagerie, Dynamics 365 pour Outlook, ou un composant d’envoi de courrier tiers interroge Dataverse pour les messages électroniques en attente. Lorsqu’un est trouvé, il le télécharge à l’aide de la requête BackgroundSendEmail.

  5. La BackgroundSendEmail demande effectue les opérations suivantes : vérifie la présence de messages électroniques en attente, télécharge l’e-mail à l’appelant du BackgroundSendEmailRequest message et synchronise les téléchargements s’il y a plusieurs appelants.

    Note

    Votre fournisseur de services de messagerie peut avoir des limites qui affectent le nombre d’e-mails que vous pouvez envoyer dans un délai donné. Plus d’informations : Limites d’envoi d’Exchange Online>.

  6. L’appelant du BackgroundSendEmailRequest message reçoit l’e-mail téléchargé et l’envoie.

Pièces jointes par e-mail

Les pièces jointes sont des fichiers qui peuvent être joints à des messages électroniques ou à des modèles d’e-mails. Un fichier joint peut se trouver dans n’importe quel format de fichier d’ordinateur standard, tel que les documents Office Outlook, les feuilles de calcul Office Excel, les fichiers CAO et les fichiers PDF. Vous pouvez joindre plusieurs fichiers en tant que pièces jointes à un e-mail ou à un modèle d’e-mail. La taille maximale des fichiers pouvant être chargée est déterminée par la propriété Organization.MaxUploadFileSize. Cette propriété est définie sous l’onglet Courrier électronique des Paramètres système de l’application Dynamics 365. Ce paramètre limite la taille des fichiers pouvant être joints à des messages électroniques, des notes et des ressources Web. Le paramètre par défaut est 5 Mo.

Pour joindre une pièce jointe à un message électronique ou à un modèle d'e-mail, vous utilisez les colonnes ActivityMimeAttachment.ObjectId et ActivityMimeAttachment.ObjectTypeCode lors de la création ou de la mise à jour d'une ligne de pièce jointe mime pour une activité.

L’exemple de code suivant montre comment joindre une pièce jointe à un e-mail :

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

De même, pour joindre la pièce jointe à un modèle plutôt qu'à un e-mail, vous remplacerez les valeurs des attributs ActivityMimeAttachment.ObjectId et ActivityMimeAttachment.ObjectTypeCode comme suit dans le code ci-dessus :

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

Pour obtenir un exemple de code complet sur la création de pièces jointes de courrier électronique, consultez Exemple : Créer, récupérer, mettre à jour et supprimer une pièce jointe.

Réutilisation des pièces jointes d’e-mail

Lorsque vous créez un enregistrement de pièce jointe de courrier électronique, le fichier joint est enregistré sous forme d’objet BLOB fichier. L’attribut ActivityMimeAttachment.AttachmentId de l’enregistrement de pièce jointe à l’e-mail identifie de manière unique le fichier BLOB. Cela permet de faciliter la réutilisation des pièces jointes avec d’autres enregistrements d’e-mails et de modèles d’e-mails, sans créer et stocker plusieurs copies du même fichier dans la base de données.

Pour réutiliser une pièce jointe existante :

  1. Récupérez la ActivityMimeAttachment ligne qui contient le fichier de pièce jointe que vous souhaitez réutiliser, comme illustré dans l’exemple de code suivant :

    ActivityMimeAttachment retrievedAttachment = 
        (ActivityMimeAttachment)_serviceProxy
        .Retrieve(ActivityMimeAttachment.EntityLogicalName, _emailAttachmentId, new ColumnSet(true));  
    
  2. Créez une pièce jointe de courrier électronique, associez-la à la ligne de modèle d’e-mail requise, puis pointez-la vers le fichier attaché de la ligne récupérée ActivityMimeAttachment, comme dans l'exemple de code suivant :

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

Étant donné que vous réutilisez un fichier joint existant, vous n’avez pas besoin de spécifier les valeurs de colonne des ActivityMimeAttachment.Body et ActivityMimeAttachment.FileName lors de la création et de l'association des lignes de pièces jointes aux e-mails ou aux modèles d'e-mail.

Stockage par e-mail

Les descriptions des e-mails (corps de l’e-mail) ont jusqu’à ce point été stockées dans le magasin relationnel Dataverse. Cela change à mesure que la colonne Email.Description de la table d’activité de messagerie est déplacée vers le stockage Blob Azure non structuré. Le stockage Blob Azure est également utilisé pour le stockage de pièces jointes, d’annotations, de fichiers et d’images.

Période de transition

La migration des données du magasin de relations Dataverse vers le stockage Blob Azure pour tous les clients devrait commencer en mai 2023. Cette migration de données aura lieu en tant que processus en arrière-plan (travail). Le déplacement initial des données pour les clients existants devrait durer environ 6 à 12 semaines, et peut-être même plus longtemps en fonction de la taille des données. Après le déplacement initial des données, toute migration restante est un processus continu. Toutes les descriptions des e-mails antérieures à douze mois seront déplacées automatiquement dans le stockage Blob Azure, et cette période de transition de douze mois ne peut pas être modifiée. Les e-mails plus récents ne seront pas déplacés jusqu’à ce qu’ils soient âgés de 12 mois. La tâche de migration des descriptions d'e-mails s’exécute régulièrement : environ une fois tous les 30 à 60 jours pour chaque locataire.

Cette migration de données sera transparente pour vous à l’exception que vous verrez une réduction de la taille de la table ActivityPointer une fois le processus de migration terminé. Dans le Centre d’administration Power Platform, dans le rapport de Capacité, un nouvel élément de ligne de courrier électronique sera disponible dans Utilisation des fichiers. Le résultat final est une augmentation de la consommation globale du stockage de fichiers et de la réduction du stockage de base de données consommé.

Note

L’augmentation du stockage de fichiers peut être inférieure à ce qui est supprimé de la table ActivityPointer en raison de la compression des données de fichier.

Les limitations mentionnées dans la section suivante commencent à s’appliquer à toutes les données qui ont déjà été déplacées vers le stockage Blob Azure géré par Dataverse, même si tout le déplacement des données n’est pas terminé.

Limitations de recherche et de filtrage

Pour les descriptions de courrier (corps) stockées dans le stockage Blob Azure, il existe certaines limitations qui s'appliquent au filtrage, à la recherche et au tri des descriptions de courrier, comme décrit ci-dessous.

Filtrage

Le filtrage sur les descriptions des e-mails n’est pas pris en charge. Voici quelques points spécifiques à prendre en compte.

  • FetchXML : vous ne pourrez pas effectuer de recherche dans les corps de messagerie à l’aide de FetchXML.
  • Recherche rapide et recherche avancée : le filtrage des descriptions de courrier à l’aide de ces méthodes n’est pas pris en charge.

Conseil / Astuce

Pour la recherche rapide, bien que le filtrage ne soit pas pris en charge, le contenu de l'e-mail peut être ajouté en tant que colonne de retour et les données du contenu seront incluses dans le résultat.

Recherche

Vous pouvez activer la recherche Dataverse sur les descriptions de courrier électronique pour rechercher des descriptions de courrier.

Voir aussi

Tables d’activité
Exemple : Envoyer un e-mail
Tableau d’e-mail
Table ActivityMimeAttachment