1. Livres & vidéos
  2. UiPath et Robotic Process Automation
  3. Gestion de la messagerie Google Mail
Extrait - UiPath et Robotic Process Automation Automatisez vos processus métier avec la RPA (2e édition)
Extraits du livre
UiPath et Robotic Process Automation Automatisez vos processus métier avec la RPA (2e édition) Revenir à la page d'achat du livre

Gestion de la messagerie Google Mail

Introduction

Après avoir étudié la manipulation de feuilles de calcul Google Sheets dans le chapitre Interactions avec la suite Google Workspace, découvrons la gestion de la messagerie Google Mail (Gmail dans la suite de l’exposé).

Nous étudierons des applications UiPath liées à un compte de messagerie Gmail dans lesquelles :

  • Nous émettrons un e-mail depuis un compte Gmail (deux versions).

  • Nous réceptionnerons des e-mails sur un compte Gmail (deux versions).

  • Nous procéderons à la suppression d’e-mails reçus sur un compte Gmail.

  • Nous classerons des e-mails reçus sur un compte Gmail.

  • Nous téléchargerons des pièces jointes associées à des e-mails reçus sur un compte Gmail.

Une fois de plus, l’exposé ne pourra pas être exhaustif, car les possibilités d’UiPath sur ce sujet sont très nombreuses.

Exceptionnellement, les applications de ce chapitre ne seront pas mises à votre disposition depuis l’onglet Compléments, afin de ne pas exposer les identifiants ni les paramètres de connexion du compte Google utilisé pour les exemples.

Application « Gmail - Émission d’un e-mail (version 1) »

1. Présentation de l’application

Cette première application se veut basique. Elle permet d’expédier un e-mail depuis un compte de messagerie de type Gmail (christian.vigouroux@gmail.com) vers un autre compte de messagerie également géré par l’auteur du livre (christian.vigouroux@online.fr).

Le compte de destination est un compte de messagerie géré par le fournisseur d’accès à Internet Free du groupe Iliad.

La particularité est qu’une pièce jointe sera associée à l’envoi de l’e-mail (logo UiPath de couleur orange) :

images/XIII_1_1_01.png

2. Application UiPath

Le workflow du processus UiPath est très simple :

images/XIII_1_2_01.png

Pour un tel type de processus, les dépendances ci-après doivent avoir été installées :

images/XIII_1_2_02.png

Le processus ne comprend que deux activités :

  • envoi d’un e-mail via compte Gmail (activité de type UiPath.GSuite.Activities.SendEmailConnections) ;

  • affichage de la fin de l’envoi (activité de type UIPath.Core.Activities.MessageBox).

À la mise en place de l’activité d’envoi de l’e-mail (déjà effectuée dans notre cas), il vous sera demandé de définir la connexion au compte Gmail que vous comptez utiliser pour votre envoi....

Application « Gmail - Émission d’un e-mail (version 2) »

1. Présentation de l’application

Cette seconde application du chapitre est un peu plus complexe que la précédente. Elle expédie également un e-mail à partir du compte de messagerie christian.vigouroux@gmail.com vers un compte tiers christian.vigouroux@online.fr. Deux logos UiPath sont prévus en tant que pièces jointes ; leurs chemins d’accès sont regroupés dans la variable listePJ avant l’envoi.

2. Application UiPath

Le workflow du processus UiPath est assez proche du précédent. Ici l’activité Envoi mail via compte Gmail n’a pas été déployée :

images/XIII_2_2_01.png

Étudions l’activité Liste des noms des Pièces Jointes (PJ) de type Assign :

images/XIII_2_2_02.png

La variable listePJ est déclarée dans le gestionnaire de données avec le type String[]. Elle contient donc un tableau de chaînes de caractères.

La valeur de cette variable est définie comme suit :

Directory.GetFiles(Directory.GetCurrentDirectory & "\Pièces jointes")  

Le sous-répertoire Pièces jointes du répertoire du projet UiPath contient deux fichiers graphiques : Logo_uiPath_Bleu.png et Logo_uiPath_Orange.png.

La boucle ForEach de l’activité suivante permet d’afficher...

Application « Gmail - Réception d’e-mails (version 1) »

1. Présentation de l’application

L’enjeu est ici inverse par rapport aux deux processus UiPath précédents : il s’agit de gérer la réception d’e-mails adressés à un compte de messagerie Gmail, en l’occurrence le compte christian.vigouroux@gmail.com.

Dans cette première version, il s’agira uniquement d’établir un récapitulatif des sujets et des émetteurs des e-mails reçus, sans retraitement supplémentaire.

2. Application UiPath

Le workflow du processus est de taille modeste et l’activité Pour chaque mail reçu sur christian.vigouroux@gmail.com est non déployée ci-dessous :

images/XIII_3_2_01.png

Le processus débute par une activité Assign initialisant à vide une variable listeMails déclarée avec le type String dans le gestionnaire de données.

images/XIII_3_2_02.png

L’activité Pour chaque mail reçu sur christian.vigouroux@gmail.com, précédemment pliée, se présente comme ceci :

images/XIII_3_2_03.png

Cette activité est de type UiPath.Gsuite.Activities.ForEachEmailConnections et requiert l’installation des dépendances suivantes dans le processus :

images/XIII_3_2_04.png

Consultons les propriétés de cette activité :

images/XIII_3_2_05.png

Les propriétés sont pratiquement...

Application « Gmail - Réception d’e-mails (version 2) »

1. Présentation de l’application

Cette application présente de fortes analogies avec la précédente. La seule différence est que les e-mails entrants dans la boîte aux lettres du compte christian.vigouroux@gmail.com sont filtrés : seuls les e-mails émis depuis l’adresse christian.vigouroux@online.fr seront pris en compte.

Pour tester ce processus UiPath, le jeu d’essai suivant sera mis en place :

  • Message n° 1 - Free vers Gmail

  • Message n° 2 - Université de Rennes vers Gmail

Seul le message n° 1 provenant du compte e-mail christian.vigouroux@online.fr devrait être présent dans le compte rendu à venir.

2. Application UiPath

Seule l’activité Pour chaque mail reçu sur christian.vigouroux@gmail.com est présentée ci-après.

images/XIII_4_2_01.png

La séquence Faire en partie basse intègre un test (activité de type System.Activities.Statements.If) qui permet de vérifier que les e-mails entrants proviennent bien de l’émetteur christian.vigouroux@online.fr.

La condition est la suivante :

CurrentEmail.From.Address.Contains("christian.vigouroux@online.fr") 

Si c’est le cas, le sujet et le nom de l’émetteur sont ajoutés à la variable...

Application « Gmail - Classement d’e-mails »

1. Présentation de l’application

Ce nouveau processus UiPath répond à une problématique très courante, le classement automatique dans des dossiers des e-mails entrants sur un compte de messagerie.

Concrètement, seuls les e-mails émis depuis l’adresse christian.vigouroux@online.fr (liée au prestataire d’accès à Internet Free) seront rangés dans un dossier nommé Notes, associé lui au compte christian.vigouroux@gmail.com.

2. Application UiPath

Voici le workflow du processus :

images/XIII_5_2_01.png

L’activité principale Pour chaque mail reçu sur christian.vigouroux@gmail.com n’est pour le moment pas dépliée, nous l’étudierons plus loin dans l’exposé.

Le processus débute par l’initialisation d’une variable listeMails, déclarée dans le gestionnaire de données en type String. Cette initialisation aurait d’ailleurs pu être effectuée directement dans le gestionnaire de données, ce qui nous permettrait l’économie d’une activité de type Assign.

images/XIII_5_2_02.png

Déployons maintenant l’activité Pour chaque mail reçu sur christian.vigouroux@gmail.com :

images/XIII_5_2_03.png

La partie supérieure de l’activité de type UiPath.Gsuite.Activities.ForEachEmailConnections...

Application « Gmail - Suppression d’e-mails »

1. Présentation de l’application

Tout comme le classement, la suppression des e-mails est une opération automatisable via un processus UiPath.

2. Application UiPath

Ce processus est très proche du précédent.

Seule l’activité UiPath.GSuite.Activities.MoveEmailConnections est remplacée par une activité dédiée à la suppression d’e-mails.

images/XIII_6_2_01.png

Cette activité a pour nom technique UiPath.GSuite.Activities.DeleteEmailConnections.

La suppression peut soit déplacer l’e-mail vers la corbeille, soit le supprimer définitivement, selon le réglage de l’activité.

3. Compte rendu d’exécution

Pour effectuer un contrôle, expédions un e-mail à notre compte cible Gmail christian.vigouroux@gmail.com depuis un compte émetteur christian.vigouroux@online.fr : message à supprimer - Compte Free vers compte Gmail.

Pour éviter que des e-mails provenant d’autres comptes émetteurs ne soient par inadvertance supprimés, un filtre sur l’émetteur a aussi été placé dans le processus :

CurrentEmail.From.Address.Contains("christian.vigouroux@online.fr") 

À l’exécution du processus, nous obtenons le message de contrôle suivant :

images/XIII_6_3_01.png

Et, finalement :...

Application « Gmail - Téléchargement de pièces jointes »

1. Présentation de l’application

L’enjeu de ce processus est de télécharger automatiquement toutes les pièces jointes qui pourraient être attachées à des e-mails émis à destination du compte Gmail christian.vigouroux@gmail.com.

Le dossier de rangement nommé Téléchargements_PJ sera un sous-répertoire de celui contenant le processus.

2. Application UiPath

Ce processus a été simplifié par rapport aux précédents. La variable listeMails a été supprimée et la variable cheminTelechargementPJ contenant le chemin absolu du répertoire de téléchargement est directement définie dans le gestionnaire de données :

images/XIII_7_2_01.png

Le workflow se présente comme suit :

images/XIII_7_2_02.png

Concentrons-nous sur l’activité UiPath.GSuite.Activities.DownloadAttachmentsConnections nommée Téléchargement des PJ :

images/XIII_7_2_03.png

Nous retrouvons l’élément CurrentEmail habituel (rappelons-le, non présent dans la liste des variables du processus) et la consultation des propriétés de l’activité nous montre le chemin d’accès cheminTelechargementPJ déclaré dans le gestionnaire de données :

images/XIII_7_2_04.png

3. Compte rendu d’exécution...

Pour aller plus loin

Dans la mesure où les sept processus UiPath ne sont pas mis à votre disposition depuis l’onglet Compléments, l’enjeu peut tout simplement être pour vous de reconstituer ces processus en utilisant vos propres identifiants Google.

Les explications détaillées fournies pour les processus étudiés devraient vous permettre de les développer facilement.