Exemple Envoyer des emails avec un automate

De Wiki1000

Sommaire

Dans cet exemple nous allons montrer comment envoyer un email à un destinataire lorsque l'état d'un objet de l'application change.

Dans ce scénario:

  • Nous modifions l'état d'un objet.
  • Ceci crée un évènement métier.
  • Une tâche d'automate consomme l'évènement et le copie dans une file d'attente POP3.
  • La file d'attente POP3 envoie l'email.

Pour cela nous utiliserons :

  • Une classe métier à l'origine de l'email, la classe contient un attribut unEmail qui contient l'émail du destinataire.
  • Un évènement métier qui détecte le changement de l'objet.
  • Une file d'attente source QUEUEEMAIL pour consommer l'évènement.
  • Une file d'attente destination QUEUEPOP3 pour produire l'émail.
  • Un automate déclenché par un évènement file d'attentes sur QUEUEEMAIL.
  • Une tâche de copie de message entre file d'attente.

Définition de l'évènement métier

L'évènement métier est déclenché lorsqu'un objet est créé dans la classe ou bien lorsque la valeur de l'attribut unEntier change.

image3.png

  • File d'attente
On indique ici le queueTopic qui sera utilisé dans la file d'attente source.
  • Sujet
Le sujet de l'email sera le libellé de l'objet. Cette zone alimentera l'attribut Caption de l'évènement.
  • Redirriger vers
Ici on retrouve l'adresse du destinataire à partir de l'objet. Cette zone alimentera l'attribut RedirectTo de l'évènement.
  • Contenu
Le contenu de l'email est paramétré par des attribut de l'objet. Cette zone alimentera l'attribut Text de l'évènement.

Teste avec le système d'Alerte

Il est possible de tester le déclenchement correcte de l'évènement en associant cet évènement comme Alerte à une boite à message.

image4.png

En modifiant un objet de la classe métier existant on vérifie qu'un message est bien créée dans la boite.

Définition des files d'attentes

File d'attente Source

Cette file consomme les évènements

image2.png

  • La classe est TdbmEvent
  • Le topic est queueEmail tel que défini dans l'évènement métier

File d'attente Destination

Cette file est utilisée pour envoyer l'émail.

image1.png

sur l'url:

  • sndMailToField
Définit quel attribut de l'évènement contient l'adresse du destinataire, ici l'attribut RedirectTo de l'évènement
  • sndSubjectField
Définit quel attribut de l'évènement contient le sujet de 'émail, ici l'attribut Caption de l'évènement
  • sndContentField
définit quel attribut de l'évènement contient le contenu du message, ici l'attribut Text de l'évènement

Paramétrage de l'automate

image5.png

L'automate exécute une tâche de copie de file à file.

Exécution

Pour déclencher un email il suffit de modifier la valeur de l'attribut unEntier d'un objet de la classe métier

On constate le déclenchement de la tâche :

image7.png

puis la réception de l'email

image8.png

Tip-20px.png Tip : Après exécution l'évènement initial a été supprimé
Outils personnels