🐋作者简介:博主是一位.Net开发者,同时也是RPA和低代码平台的践行者。
🐬个人主页:会敲键盘的肘子
🐰系列专栏:UiPath
🦀专栏简介:UiPath在传统的RPA(Robotic process automation)的基础上,增加了See(AI通过计算机视觉阅读用户的计算机屏幕)和Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断帮助用户自动化构建流程,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了Low-code甚至是No-code的程度,让每一位员工都可以自主使用。
🐶座右铭:总有一天你所坚持的会反过来拥抱你。


在这里插入图片描述

🌈写在前面:

电子邮件是最早的一种数字通信方式,时至今日,许多业务流程仍由简单的电子邮件触发,我们总是习惯性地查看收件箱。如果我们可以把很多任务可以实现自动化,那么可以节省我们宝贵的时间。在本博文中,我们将探讨如何通过使用UiPath Studio和电子邮件相关活动来快速可靠地处理电子邮件。你在读一大堆邮件的时候,是不是想过“一定有更有效的方法来做这件事”?使用UiPath,您现在可以轻松检索需要立即关注的电子邮件,处理或转发给适当的人


👉本文关键字:RPA、UiPath、Low-code、No-code、Email Automation、电子邮件自动化、OutLook、.Net

1️⃣ 背景

♈ 什么是RPA

RPA(Robotic process automation) 代表机器人过程自动化

它是一种软件程序,可在与计算机应用程序交互时模仿人类行为并实现重复的、基于规则的流程的自动化。

♉ 什么是UiPath

UiPath 是一种机器人流程自动化工具,用于自动化枯燥和重复的任务。它由罗马尼亚企业家 Daniel Dines 和 Marius Trica 于 2005 年创立。它还消除了自动化无聊任务的人工干预,并为所有活动提供了拖放功能,它是最简单的 RPA 工具。

♊ 为什么使用UiPath

UiPath在传统的RPA的基础上,增加了See(AI通过计算机视觉阅读用户的计算机屏幕)和Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断帮助用户自动化构建流程,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了Low-code甚至是No-code的程度,让每一位员工都可以自主使用。

♋ 为什么要用电子邮件自动化

电子邮件是最早的一种数字通信方式,时至今日,许多业务流程仍由简单的电子邮件触发,我们总是习惯性地查看收件箱。在关键流程方面,电子邮件仍然是大多数公司的首选

我们以一些服务器为例,它们在一天中生成不同的警报消息。为了加快速度,我们可能希望自动地去分发警报的过程,以便正确的人及时获得正确的警报消息。一种方法是根据主题、日期、正文内容或发件人等不同标准过滤电子邮件,然后将它们分别发给对应的人。UiPath就帮我们实现了这些功能,并涵盖了各种协议,如IMAP、POP3或SMTP。UiPath还提供活动专门用于Outlook和Exchange的。

♌ 案例

为了更好地理解软件包中邮件活动的可用性,让我们从更高的层次来看如何自动分发由多个服务器生成的电子邮件警报

考虑有三台服务器生成不同类型的警报,这些警报将发送到单个邮箱帐户。此时,1级技术人员必须确认并过滤电子邮件。之后,他们会按照特定程序升级或自行处理警报,该过程的主要步骤如下图所示。

在这里插入图片描述

可以看出,这是一项重复性的任务,具有稳定的流程和明确的指导方针。因此它非常适合被自动化取代。我们接下来将探讨如何通过使用UiPath Studio和电子邮件相关activity来快速可靠地处理电子邮件,以节约我们的宝贵的时间。

2️⃣ 概述

♈ 环境
  • UiPath Studio Community 2022.4.3

  • Windows 10

  • .Net

♉ 摘要

电子邮件是最早的一种数字通信方式,时至今日,许多业务流程仍由简单的电子邮件触发,我们总是习惯性地查看收件箱。如果我们可以把很多任务可以实现自动化,那么可以节省我们宝贵的时间。在本博文中,我们将探讨如何通过使用UiPath Studio和电子邮件相关活动来快速可靠地处理电子邮件。你在读一大堆邮件的时候,是不是想过“一定有更有效的方法来做这件事”?使用UiPath,您现在可以轻松检索需要立即关注的电子邮件,处理或转发给适当的人

♊ 您将学到的内容
  • 使用专门的email activities
  • 字符接收消息电子邮件并;
  • 自动筛选并下载电子邮件的附件;
  • 自动发送电子邮件消息;
  • 自动使用消息模板。

3️⃣ 电子邮件自动化(Email Automation)

♈ 五组电子邮件活动

UiPath Studio 中提供的电子邮件交互选项。在搜索框中键入mail将检索 UiPath.Mail.Activities 包附带的所有活动,即五组电子邮件活动。我们来逐一介绍:SMTP 是简单邮件传输协议 (Simple Mail Transfer Protocol) 的缩写,它是一种仅用于发送邮件的基本协议。POP3 代表邮局协议,它是一种用于读取邮件的旧协议,几乎已经过时,但大多数电子邮件服务器仍然支持它。IMAP 或互联网邮件访问协议仅用于接收邮件,但提供了一些有用的功能,您可以将邮件标记为已读或在文件夹之间移动邮件。Exchange 是 Microsoft 的企业电子邮件解决方案,它与 UiPath 完美集成,可以提供发送和接收邮件,在文件夹之间移动电子邮件,以及删除邮件等活动。Outlook 活动略有不同。它们与桌面应用程序的 API 搭配使用,无需设置服务器、用户和其他技术细节 - 这些活动设计成使用现有的 Outlook 帐户。最后,还有两种通用的电子邮件活动,可用于在本地驱动器上保存电子邮件和电子邮件附件。

♉ 检索邮件
⭐ 背景

与电子邮件交互有两种情况:电子邮件作为输入电子邮件作为流程的输出

对于输入电子邮件,我们可以接收文本形式的数据,作为电子邮件主题或正文的一部分,或作为附件。例如Excel文件、pdf或其他文件类型。至于作为输出的电子邮件,它通常用于向主管发送关于不同自动化项目的状态更新,或者在发生业务或应用程序异常时发送状态更新。

学习完本章节,您可以学会:

  • 如何从指定服务器检索IMAP电子邮件。

  • 应用与UiPath集成的Microsoft Outlook活动。

  • 列出访问Gmail帐户的UiPath集成功能。

当我们在处理有大量数据的电子邮件列表,会想一定有一种更有效的方法来检索这些邮件我们都知道这种感觉。使用UiPath,您现在可以轻松检索需要立即关注的电子邮件,处理或转发给适当的人。

⭐使用IMAP和Gmail检索电子邮件

在本例中,我们将构建一个简单的流程,从Gmail中获取未读邮件,过滤邮件,并在邮件主题行中包含“发票”一词时存储邮件及其附件。

在使用IMAP检索电子邮件之前,我们需要获取存储在“Windows凭据管理器”中的一组凭据。

在这里插入图片描述

让我们在Main文件中添加获取用户名/密码Activity将其重命名。此Activity将检索我们以前保存在Windows凭据管理器中的Gmail凭据,并将其存储在变量中。

在这里插入图片描述

让我们继续创建这个变量输入一个名称GmailCredentials。直接在Activity中定义变量的优点是PasswordCredentials类型会自动分配给它。

在这里插入图片描述

接着,我们将使用Gmail,因此我们将使用获取IMAP邮件Activity。

根据我们正在使用的服务,有多种选项可供选择。例如,使用Exchange时可以找到相同的活动功能。在这种情况下,我们将使用获取Exchange邮件,对于IBM,我们将采用获取IBM Notes邮件,而对于Outlook,我们将在接下来的文章中看到获取Outlook邮件

获取IMAP邮件消息从指定服务器检索IMAP电子邮件。输出是System.Net.Mail的集合。MailMessage对象。

  • 邮件文件夹:“收件箱”,用于检索邮件;

  • 端口:在我们的情况下为993;

  • 服务器:imap.gmail。通用域名格式;

  • 电子邮件和密码:我们将使用前面创建的变量。

  • 输出:检索到的消息的集合。定义一个新变量,让我们将其命名为“EmailsList”。

由于我们只对检索未读邮件感兴趣,所以让我们选中OnlyUnreadMessages框。否则,它将检索指定文件夹中的所有邮件,直到达到“顶部”字段中指定的限制。

在这里插入图片描述

接下来,要遍历主题行中包含“发票”的所有未读消息,我们需要一个For Each Activity并将其重命名。让我们将迭代器重命名为RetrievedEmail,添加EmailsList集合,并将参数类型设置为System.Net.Mail.MailMessage

在这里插入图片描述

如前所述,我们希望获得满足特定条件的未读邮件。

为此,让我们使用IF Activity。让我们把它命名为主题包含发票

条件为:RetrievedEmail.Subject.ToLower

通过使用ToLower,我们避免了主题中的“invoice”一词包含大写字母的情况。如果电子邮件中确实包含“发票”一词,我们将保存它。为此,让我们使用“保存邮件”活动。

在这里插入图片描述

让我们创建一个数据文件夹,用于保存邮件。我们可以直接从项目面板创建它。我们将其命名为“数据”。我们将在FolderPath属性字段中输入“Data”文件夹以及Retrieved Email主题和扩展名。

在这里插入图片描述

我们不要忘记在Message属性字段中输入RetrievedEmail项。

要保存附件,让我们使用保存附件Activity,并使用我们的RetrievedEmail和保存它的文件夹对其进行配置。

单击“确定”以验证要使用的凭据,并且执行已结束。

在这里插入图片描述

让我们检查数据文件夹。我们可以看到主题行中有“发票”的电子邮件,以及包含的附件。

在这里插入图片描述

⭐使用Outlook检索电子邮件

本章节我们将了解如何从Outlook检索电子邮件并对其进行分类,将特定电子邮件移动到相应的文件夹,将其标记为已读,以及删除不必要的电子邮件。

目标

构建一个流程,从Outlook收件箱文件夹中检索电子邮件,并根据主题行中的特定关键字按项目和公司公告对其进行分类。然后将电子邮件移动到Outlook、项目或公告中相应的类别文件夹,并继续删除不需要的邮件。

打开Main文件并从定义必要的电子邮件类别开始。

为此,让我们添加一个多重分配活动,并相应地重命名它。此活动允许我们在一个地方为多个变量赋值。

让我们创建一个新变量来定义“项目”类别。我们将其命名为项目电子邮件类别,并键入“项目”作为类别的标题。我们必须将它放在大括号之间,因为我们需要保存值的变量是String的“Array”集合。

在这里插入图片描述

让我们为这个变量创建一个变量,并将其命名为“公司公告电子邮件类别”。作为此类别列表的标题,让我们添加“公司公告”。

接下来,我们必须将这些变量的类型从字符串更改为“字符串数组”,因为这是我们即将使用的“设置Outlook邮件类别”活动所接受的类型。

现在,让我们添加“获取Outlook邮件”活动并配置帐户。

现在我们创建一个新变量来存储检索到的电子邮件。让我们把它命名为“电子邮件列表”。其类型自动设置为“邮件”的“列表”集合。

在这里插入图片描述

接下来,要遍历电子邮件集合,让我们添加一个“For Each”活动并将其重命名。我们将在主题行中搜索特定关键字。因此,让我们相应地重命名它。我们还需要设置“类型参数”。你能回忆起我们在早期视频中使用的类型吗?没错,我们需要“邮件”类型。

要搜索主题行中的关键字,我们将使用“If”活动。

对于这个演示,我们已经为“项目”类别准备了一些电子邮件,其中在主题行中包含mining一词。因此,让我们搜索这个特定的关键字。

在这里插入图片描述

为了避免关键字有大写字母的情况,我们将在此处将其转换为小写字母

现在让我们进入“Then”部分。如果满足条件,我们将使用“设置Outlook邮件类别”活动将类别与邮件关联。在这里,我们指定电子邮件和先前创建的类别。并相应地重命名活动。

接下来,让我们将检索到的电子邮件移动到其类别文件夹中。我们可以使用“移动Outlook邮件”活动来做到这一点。在这里,我们指定检索到的电子邮件、先前创建的“项目”类别文件夹和Outlook帐户。

在这里插入图片描述

让我们给它一个合适的名字。如果找不到关键字,我们将检查下一个关键字,即“feedback”。

为了区分关键字,我们必须添加另一个“If”活动。让我们转到“Else”部分,在这里添加下一个活动。我们使用与前面相同的表达式将主题行中的文本转换为小写字母。

让我们添加“设置Outlook邮件类别”活动。在这里,我们指定电子邮件和之前为“公告”定义的类别,即“公司公告电子邮件类别”变量。

在这里插入图片描述

接下来,我们必须将“检索到的电子邮件”消息移动到“公告”文件夹并指定帐户。如果主题不包含“feedback”关键字,那么我们希望删除该电子邮件。

在这里插入图片描述

我们可以通过添加“删除Outlook邮件”活动并指定检索到的电子邮件来做到这一点。

在这里插入图片描述

让我们检查一下邮箱。我们可以在“Announcements”文件夹中看到一条新消息,主题行中有“feedback”一词,在“Projects”文件夹内可以看到另外两条新消息。如果打开“已删除邮件”文件夹,我们可以看到最近在此处添加了一封电子邮件。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⭐使用Gmail和Outlook集成检索电子邮件

本章节结束,您可以学会

  • 使用UiPath Studio集成功能访问Gmail帐户、检索和处理电子邮件;
  • 通过使用Outlook桌面应用程序集成以及特定于电子邮件的活动在本地保存电子邮件附件。

目标

构建一个简单的过程来访问Gmail垃圾邮件文件夹并删除其中的所有邮件。

使用本地Outlook帐户访问“收件箱”文件夹,筛选包含附件的未读邮件,并将附件保存在首选文件夹中。

让我们快速查看一下我们的Gmail帐户。如我们所见,垃圾邮件文件夹中有五封未读电子邮件。

在这里插入图片描述

我们的第一步是添加一个“使用Gmail”活动。

在这里插入图片描述

活动分组如下 应用程序集成 涵盖各种协议,例如 图像, POP3和 SMTP,或专门处理 见解 和 交换虽然活动分组在 集成 类别是较新的邮件活动。这些活动可以使Outlook桌面应用程序、Outlook 365在线和Gmail帐户自动化。

下一步是选择Gmail帐户。如果我们没有配置帐户,我们可以轻松添加它。我们现在可以使用要添加的帐户登录。

在这里插入图片描述

之后,我们可以提供对UiPath Gsuite的访问,以便从Gmail中读取、撰写、发送和永久删除电子邮件。如果我们还需要使用日历,我们可以从这个页面提供访问。

现在可以从列表中找到并选择Gmail帐户。让我们也将参考更改为Gmail UiPath电子邮件自动化。选择帐户后,“电子邮件”字段属性将自动填充电子邮件地址。

接下来,让我们添加一个“For Each Email”活动,重命名它,并引用Current Mail From SPAM

在这里插入图片描述

现在,要指定电子邮件列表,我们可以使用集成服务并从邮箱中选择SPAM文件夹。我们还可以选择限制电子邮件的数量,并通过未读邮件过滤它们,仅包含附件,如果有,还可以选择包含子文件夹。

接下来,让我们添加一个“删除电子邮件”活动。

在这里插入图片描述

在电子邮件字段中,我们可以通过单击右侧的“Plus”菜单或键入其名称的一部分,然后从列表中选择“Current Mail From SPAM”项。如果我们想永久删除邮件,可以选中“永久删除”框。让我们也对这个活动进行注释。

接着让我们以调试模式运行该进程。

我们去Gmail账户看看结果。垃圾邮件文件夹现在为空,这意味着所有五封电子邮件都已成功删除。

在这里插入图片描述

接下来,让我们使用集成好的Outlook桌面应用程序

目标

我们将检索前五封包含附件的未读电子邮件,并将附件保存到首选文件夹。

我们可以禁用Gmail序列并添加“使用桌面Outlook应用程序”活动。然后重命名它。我们可以看到默认电子邮件帐户已被选中。

在这里插入图片描述

接下来,我们添加了一个“For Each Email”活动,并在此处提供了一些详细信息。在集成的帮助下,我们可以转到Plus菜单并轻松选择“收件箱”文件夹。让我们将电子邮件限制在前五封,过滤未读邮件,并且只包含附件。

在这里插入图片描述

接下来,让我们添加一个“保存电子邮件附件”活动,重命名它,指定“当前邮件”消息,以及保存附件的位置。

因此,让我们在项目中创建一个新文件夹。我们移动到“项目”面板,选择顶部的项目名称,右键单击并创建一个新文件夹。让我们把它命名为“数据”。我们现在可以在“保存到文件夹”字段中写入新文件夹的名称。由于文件夹存在于我们的项目中,我们不需要完整的路径。但是,如果文件夹是在一个单独的位置创建的,那么完整路径将是必需的。

让我们选择覆盖现有文件,以避免出现要求我们确认的提示。因为我们知道附件是Excel格式的,所以我们只按Excel文件过滤。

在这里插入图片描述

让我们添加一个“日志消息”来显示附件名称。我们现在引用当前邮件的第一个保存的附件及其名称。

在这里插入图片描述

现在让我们以调试模式运行工作流。

一旦执行开始,我们可以在输出面板中看到保存的附件的名称,如果打开Data文件夹,我们可以找到所有保存的附件。

在这里插入图片描述

4️⃣ 总结

学习完本博文,我们可以学会:

  • 如何从指定服务器检索IMAP电子邮件。

  • 应用与UiPath集成的Microsoft Outlook活动。

  • 列出访问Gmail帐户的UiPath集成功能。

下一篇博文,博主将介绍使用UiPath自动过滤邮件,同样实现邮件自动化。

5️⃣ 参考资料

About the Mail Activities Pack
App Integration


⭐写在结尾:

文章中出现的任何错误请大家批评指出,一定及时修改。

希望写在这里的小伙伴能给个三连支持

Logo

低代码爱好者的网上家园

更多推荐