Partager via


Entités d’activité de messagerie

L’activité e-mail vous permet de suivre et de gérer les communications par e-mail avec les clients. Dynamics 365 Customer Engagement (on-premises) inclut le logiciel Email Router qui gère l’acheminement des e-mails vers ou depuis Dynamics 365 Customer Engagement (on-premises). L’activité d’e-mail est diffusée à l’aide de protocoles de messagerie. Email Router prend en charge les protocoles de messagerie suivants : Services Web Exchange, POP3 et SMTP. En plus du logiciel Email Router, l’activité de courrier électronique peut également être distribuée à l’aide de Dynamics 365 for Outlook.

Actions sur une activité d’e-mail

À l’aide des services Web Dynamics 365 Customer Engagement, vous pouvez effectuer les actions suivantes sur une activité de courrier électronique :

  • Créez, récupérez, mettez à jour et supprimez l’activité de messagerie.

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

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

  • Envoyer des messages électroniques en masse ou en bloc.

  • Configurez les messages électroniques entrants à remettre de Microsoft Exchange Server à n’importe quel utilisateur ou file d’attente, ou les messages sortants à envoyer à partir d’un utilisateur ou d’une file d’attente vers Microsoft Exchange Server. Pour plus d’informations sur la configuration des e-mails entrants pour les files d’attente, consultez Configurer les e-mails pour les messages entrants.

    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 d’utilisateur ou de file d’attente pour modifier la valeur de l’attribut, s’il n’est pas déjà à l’état approuvé, à condition que le privilège prvApproveRejectEmailAddress soit attribué à votre compte d’utilisateur.

Remarque

Dans Dynamics 365 for Customer Engagement, l’attribut Email.StatusCode ne peut pas être null.

Envoi en nombre

Dynamics 365 Customer Engagement (on-premises) prend en charge l’envoi d’e-mails à une grande liste de destinataires par le biais d’une demande d’e-mail en bloc. Lorsqu’une demande d’e-mail en bloc est envoyée à Dynamics 365 Customer Engagement (sur site), une opération asynchrone est créée dans la file d’attente de service asynchrone qui envoie les e-mails à l’aide d’un processus d’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 d’e-mails tiers interroge Dynamics 365 Customer Engagement (local) pour les messages électroniques en attente et, le cas échéant, les télécharge à l’aide de la BackgroundSendEmail demande.

  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.

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

Pièces jointes aux e-mails

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 être dans n’importe quel format de fichier informatique standard, tel que des documents Office Word, des feuilles de calcul Office Excel, des fichiers CAO et des 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, vous devez utiliser les attributs ActivityMimeAttachment.ObjectId et ActivityMimeAttachment.ObjectTypeCode lors de la création ou de la mise à jour d’un enregistrement de pièce jointe MIME d’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 au lieu d’un e-mail, vous remplacez 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 à un e-mail, consultez Exemple : Créer, récupérer, mettre à jour et supprimer une pièce jointe à un e-mail.

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 l’enregistrement ActivityMimeAttachment qui contient le fichier joint 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 un enregistrement de pièce jointe d’e-mail, associez-le à l’enregistrement d’e-mail ou de modèle d’e-mail requis, puis pointez-le vers le fichier joint de l’enregistrement récupéré ActivityMimeAttachment , comme illustré 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 de pièce jointe existant, vous n’avez pas besoin de spécifier les valeurs d’attribut ActivityMimeAttachment.Body et ActivityMimeAttachment.FileName lorsque vous créez et associez des enregistrements de pièces jointes à des e-mails ou à des modèles d’e-mails.

Voir aussi

Entités d’activité
Exemple de code pour les entités d’activité
Entité de messagerie électronique
Entité ActivityMimeAttachment