Activités (Activities)
Plus récente (Latest)
False
Image de fond de la bannière
Activités de productivité
Dernière mise à jour 26 avr. 2024

API de courrier

Les API vous permettent d'accéder aux services proposés dans le menu Gérer les packages et d'interagir avec ceux-ci. Vous pouvez utiliser ces API lorsque vous créez des automatisations codées. Rendez-vous sur la page Automatisations codées pour en savoir plus sur les automatisations codées et sur leur conception via API.
Remarque : l'utilisation de l'option Aller à Définition (Go to Definition) (F12) permet d'accéder à la définition des API UiPath pour un certain service. Nous vous recommandons de vous fier uniquement aux API directement exposées lorsque vous implémentez des automatisations codées. Les autres API qui ne sont pas directement exposées avec un service sont susceptibles d'être modifiées sans notification préalable.

Surcharges

Les API ont souvent des surcharges, ce qui signifie qu'elles fournissent plusieurs versions de la même méthode avec différentes options de paramètres. Les surcharges vous permettent de personnaliser le comportement de l'API en fonction de vos besoins. Par exemple, une API UI Automation peut avoir une surcharge qui accepte un paramètre de délai d'attente pour préciser le temps d'attente maximal d'un élément d'IU avant de terminer l'exécution.

En utilisant les API avec leurs surcharges respectives, vous pouvez facilement obtenir la logique et le comportement d'automatisation souhaités.

API de courrier

Les API de messagerie complètent les capacités du package Mail.Activities, vous permettant d'avoir une expérience de codage complète. Cette approche encourage les actions personnalisées et prend en charge la réutilisation.

D'abord, vous créez une interface qui se connecte au serveur de messagerie que vous souhaitez utiliser, via l'objet mail . L'objet mail vous permet de vous connecter à Imap, Pop3, Outlook et Smtp.

Une fois connecté, les API spécifiques au serveur de messagerie choisi deviennent disponibles. Par exemple, si vous utilisez le serveur Outlook, des API telles que MarkRead et MoveMail deviennent disponibles.

Vous pouvez utiliser les interfaces suivantes pour accéder aux API spécifiques.
APIDescription
ImapL'interface via laquelle vous accédez aux API spécifiques à IMAP.
Pop3Interface via laquelle vous accédez aux API spécifiques à POP3.
SmtpL'interface via laquelle vous accédez aux API spécifiques à SMTP.
OutlookL'interface via laquelle vous accédez aux API spécifiques à Outlook.

Utilisation des API

Utilisez le format suivant pour appeler une API à partir du service correspondant : service.API. Par exemple, system.GetAsset.

Utilisation des API de messagerie

Pour utiliser les API de messagerie, créez d'abord une interface qui se connecte au serveur de messagerie que vous souhaitez utiliser (Imap, Pop3, Smtp, Outlook), puis appelez les API souhaitées sur cette interface, par exemple interface.GetMessages().
  1. Téléchargez le package d’activités.
  2. Créez un workflow codé.
  3. Appelez le service mail et créez une interface qui se connecte à l'un des serveurs suivants : Imap, Pop3, Outlook, Smtp.
  4. Appelez les API souhaitées sur la connexion que vous avez précédemment créée.

Exemple

Dans l'exemple suivant, vous pouvez voir comment envoyer un e-mail, configurer l'e-mail, lire, itérer et déplacer des e-mails à l'aide d'Outlook.

using ProductivityTests.ObjectRepository;
using System;
using System.Collections.Generic;
using System.Data;
using UiPath.CodedWorkflows;
using UiPath.Core;
using UiPath.Core.Activities.Storage;
using UiPath.Mail.Activities.Api;
using UiPath.Orchestrator.Client.Models;
using UiPath.Testing;
using UiPath.Testing.Activities.TestData;
using UiPath.Testing.Activities.TestDataQueues.Enums;
using UiPath.Testing.Enums;
using UiPath.UIAutomationNext.API.Contracts;
using UiPath.UIAutomationNext.API.Models;
using UiPath.UIAutomationNext.Enums;
using UiPath.Mail;
using System.Net.Mail;
using System.Diagnostics;

namespace ProductivityTests
{
    public class MailExample : CodedWorkflow
    {
        [Workflow]
        public void Execute()
        {         

            //Send Simple Outlook Mail
            mail.Outlook().SendMail("firstname.lastname@organization.com","Test Subject","Body Message");
         
            //Configure your MailMessage and Send it
           SendMailOptions mailmessage = new SendMailOptions()
                .WithTo(new List<string>{"firstname.lastname@organization.com"})
                .WithSubject("A message through Coded Workflows")
                .WithBody(
                    "Hey,"
                    + Environment.NewLine
                    + "This message is sent by a robot built with Coded Workflows."
                    + Environment.NewLine
                    + Environment.NewLine 
                    + "Discover a sample code illustrating how to send, read, and move emails within the attachments."
                    + Environment.NewLine 
                    + "The mail package now features Coded Workflows support, introduced in the 1.22.0-preview Version released on December 04, 2023.");
           
            mailmessage.Attachments.Add("C:\\Users\\firstname.lastname\\Downloads\\CodedScreenshot.png");
            mailmessage.Attachments.Add("C:\\Users\\firstname.lastname\\Downloads\\MailExample.cs");
            mail.Outlook().SendMail(mailmessage);
                   
            // Read Mail Messages, iterate and move them
            GetOutlookMailOptions getMailOptions = new GetOutlookMailOptions()
                .WithFolder("Inbox")
                .WithOnlyUnreadMessages(true)
                .WithOrder(EOrderByDate.NewestFirst)
                .WithTop(50);
                                    
            var mails  = mail.Outlook().GetMessages(getMailOptions);
                       
            var counter =0;
            foreach(MailMessage mailMessage in mails)
            {
                counter++;
                Console.WriteLine(counter.ToString());
                Console.WriteLine(mailMessage.Subject);
                if (mailMessage.Subject.Contains("Coded Workflows"))
                {
                    //Move an email                    
                    mail.Outlook().MoveMail(mailMessage,"Demo");
                    Console.WriteLine("I found an email which contains Test");                   
                    
                }
                
            }
            //You can also define an object like this
            getMailOptions.WithFolder("Inbox");
            getMailOptions.WithOnlyUnreadMessages(true);
            getMailOptions.MailFolder ="Inbox";
            getMailOptions.OnlyUnreadMessages=true;
            getMailOptions.OrderByDate = EOrderByDate.NewestFirst;
            getMailOptions.Top=50;

        }
    }
}using ProductivityTests.ObjectRepository;
using System;
using System.Collections.Generic;
using System.Data;
using UiPath.CodedWorkflows;
using UiPath.Core;
using UiPath.Core.Activities.Storage;
using UiPath.Mail.Activities.Api;
using UiPath.Orchestrator.Client.Models;
using UiPath.Testing;
using UiPath.Testing.Activities.TestData;
using UiPath.Testing.Activities.TestDataQueues.Enums;
using UiPath.Testing.Enums;
using UiPath.UIAutomationNext.API.Contracts;
using UiPath.UIAutomationNext.API.Models;
using UiPath.UIAutomationNext.Enums;
using UiPath.Mail;
using System.Net.Mail;
using System.Diagnostics;

namespace ProductivityTests
{
    public class MailExample : CodedWorkflow
    {
        [Workflow]
        public void Execute()
        {         

            //Send Simple Outlook Mail
            mail.Outlook().SendMail("firstname.lastname@organization.com","Test Subject","Body Message");
         
            //Configure your MailMessage and Send it
           SendMailOptions mailmessage = new SendMailOptions()
                .WithTo(new List<string>{"firstname.lastname@organization.com"})
                .WithSubject("A message through Coded Workflows")
                .WithBody(
                    "Hey,"
                    + Environment.NewLine
                    + "This message is sent by a robot built with Coded Workflows."
                    + Environment.NewLine
                    + Environment.NewLine 
                    + "Discover a sample code illustrating how to send, read, and move emails within the attachments."
                    + Environment.NewLine 
                    + "The mail package now features Coded Workflows support, introduced in the 1.22.0-preview Version released on December 04, 2023.");
           
            mailmessage.Attachments.Add("C:\\Users\\firstname.lastname\\Downloads\\CodedScreenshot.png");
            mailmessage.Attachments.Add("C:\\Users\\firstname.lastname\\Downloads\\MailExample.cs");
            mail.Outlook().SendMail(mailmessage);
                   
            // Read Mail Messages, iterate and move them
            GetOutlookMailOptions getMailOptions = new GetOutlookMailOptions()
                .WithFolder("Inbox")
                .WithOnlyUnreadMessages(true)
                .WithOrder(EOrderByDate.NewestFirst)
                .WithTop(50);
                                    
            var mails  = mail.Outlook().GetMessages(getMailOptions);
                       
            var counter =0;
            foreach(MailMessage mailMessage in mails)
            {
                counter++;
                Console.WriteLine(counter.ToString());
                Console.WriteLine(mailMessage.Subject);
                if (mailMessage.Subject.Contains("Coded Workflows"))
                {
                    //Move an email                    
                    mail.Outlook().MoveMail(mailMessage,"Demo");
                    Console.WriteLine("I found an email which contains Test");                   
                    
                }
                
            }
            //You can also define an object like this
            getMailOptions.WithFolder("Inbox");
            getMailOptions.WithOnlyUnreadMessages(true);
            getMailOptions.MailFolder ="Inbox";
            getMailOptions.OnlyUnreadMessages=true;
            getMailOptions.OrderByDate = EOrderByDate.NewestFirst;
            getMailOptions.Top=50;

        }
    }
}

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.