【前沿技术RPA】 一文学会用UiPath实现自动发送电子邮件(Email Automation)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

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


在这里插入图片描述

🌈写在前面

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


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

文章目录

1️⃣ 背景

♈ 什么是RPA

RPARobotic process automation 代表机器人过程自动化

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

♉ 什么是UiPath

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

♊ 为什么使用UiPath

UiPath在传统的RPA的基础上增加了SeeAI通过计算机视觉阅读用户的计算机屏幕和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您现在可以轻松检索需要立即关注的电子邮件处理或转发给适当的人

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

♉ 发送邮件

⭐ 背景知识

UiPath Studio集成了多个活动可帮助您根据使用的服务器发送电子邮件。

System.Net.Mail.MailMessage表示在UiPath中处理电子邮件时的主要数据类型。无论何时需要获取或转发电子邮件都将使用此数据类型。

当使用Studio中的一个电子邮件活动发送电子邮件时您可以添加主题、自定义正文、附件甚至使用模板来完成所有这些。您还可以使用Orchestrator AssetRead Text File活动来访问模板。

⭐Send SMTP Mail Message

本节我们将学习如何使用Gmail通过简单邮件传输协议SMTP自动发送单个附件和多个附件电子邮件。

在这个场景中我们将向同一个电子邮件地址发送一封包含单个附件的电子邮件其中包含一个PDF文件另一封包含多个附件的电子邮件其中包含三个PNG文件。在构建自动化之前让我们在自动化项目中为附件创建一个Data文件夹。

在这里插入图片描述

我们将从获取用户名和密码活动开始这样我们就可以访问Gmail帐户。从保存的凭据部分我们将选择我们的凭据集GmailCredentials。请注意我们在这里使用的任何凭据都必须事先在Windows凭据管理器中创建。

让我们也为它们创建一个变量。我们称之为GmailCredentials。

在这里插入图片描述

接下来让我们添加Send SMTP Mail Message activity我们将在其中添加收件人电子邮件主题电子邮件正文。这将是包含单个附件的电子邮件。

在这里插入图片描述

那么我们该如何附加文件呢

在属性面板中我们将打开附件部分并创建一个In Argument它的值将是本地文件的路径

在这里插入图片描述

在发送电子邮件之前我们需要更新主机部分中的一些其他属性例如端口值和服务器值smtp.gmail.com

在这里插入图片描述

在登录部分我们需要添加用于发送电子邮件的帐户的电子邮件地址我们将使用前面创建的Gmail凭据变量及其密码。

就这样工作流已完全配置为发送单个附件电子邮件。

接下来我们可以创建一个列表并遍历每个文件。让我们继续添加For Each File活动并进行配置

我们将更新文件夹名称因为我们只对png格式的文件感兴趣所以我们将用wildcard.png填充过滤器。

在这里插入图片描述

要创建列表我们需要一个TypeArgument设置为StringAdd To Collection活动将一个集合定义为AttachmentsList然后将当前文件的全名添加为集合项。我们不要忘记用新的字符串列表实例化AttachmentsList变量并将其范围扩大到序列以便我们也可以在下一个活动中使用。

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

现在让我们通过在For Each File In Folder活动下复制Send SMTP Mail Message活动来重新使用它。作为最佳实践我们将更新第一个发送SMTP活动的名称以反映单个附件并更新第二个以反映多个附件。这里还有一些更新需要执行。我们需要更新电子邮件正文和标题以便它引用多个附件。让我们用新的AttachmentsList变量替换保存pdf单个附件文件路径的变量。

在这里插入图片描述

让我们来执行这个项目吧

让我们查看Gmail收件箱。我们可以看到我们收到了单个和多个附件电子邮件。让我们打开一个附件我们可以看到正确的标题、正文和PDF文件。

现在让我们查看多附件电子邮件对于这封邮件我们有正确的标题、正文和多个附件。

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

⭐ 按预设好的模板发送电子邮件

通过本节我们将知道如何

  • 创建并阅读电子邮件正文中使用的模板

  • 创建列表变量类型以存储收件人地址。

  • 使用String dot Format表达式配置邮件正文。

  • 截屏并存储其输出以供自动化过程使用。

  • 并使用Send Outlook Mail Message活动发送带有附件的电子邮件。

我们将构建一个简单的流程来向收件人列表发送Outlook电子邮件。电子邮件正文使用模板中的文本并包含附件。

让我们打开Main。既然我们想使用电子邮件模板并包含附件那么让我们首先添加一个新文件夹来存储这些内容。

使用模板进行电子邮件自动化很容易。我们只需要编写消息将其保存为文本文件然后在工作流中调用它。

可以为此让我们打开Data文件夹并创建一个新的文本文档来保存我们的消息。花括号包含收件人的索引0是第一个索引。运行进程时此值将被实际收件人名称替换。

在这里插入图片描述

为了阅读模板让我们添加一个Read Text活动并重命名顶部序列。要选择模板让我们浏览到保存文本文件的位置并选择它。要存储模板文本我们必须在“输出到”属性字段中创建一个新变量。

在这里插入图片描述

让我们将其命名为EmailTemplate并相应地重命名该活动。

现在让我们定义收件人列表。为此让我们转到“变量”面板创建一个名为“收件人列表”的新变量并确保我们设置了正确的变量类型。即字符串列表。

在这里插入图片描述

我们可以在System.Collections.Generic下找到我们正在寻找的正确类型。

接下来让我们打开默认的表达式编辑器。在这里我们可以编写以下表达式来初始化一个新列表并用收件人的电子邮件地址填充它。

这里我们只添加了一个收件人但要知道只需键入一个新地址并在地址之间添加一个逗号就可以添加更多收件人。既然我们已经定义了收件人列表那么让我们指定每个收件人需要哪些操作。不要忘记将“类型参数”从“对象”更改为“字符串”。

在这里插入图片描述

接下来我们想在“收件箱”文件夹中截取其中一封电子邮件的屏幕截图然后将其附加到电子邮件中。为此我们首先需要添加“使用应用程序或浏览器”活动。

在这里插入图片描述

我们现在可以指定要自动化的应用程序即Outlook。

要截屏我们添加一个Take Screenshot活动并在“收件箱”文件夹中指明一个元素。让我们选择一个新的电子邮件通知以及“未读”标签。要存储输出我们必须选择“图像”并创建一个新变量。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

现在我们可以将屏幕截图保存在首选位置。我们添加Save Image活动引用屏幕截图附件变量浏览到要保存图像的位置并提供名称。

在这里插入图片描述

我们现在可以发送邮件了。因此让我们添加Send Outlook Mail Message活动。我们指定收件人写主题对于正文让我们添加一个表达式来使用我们的模板。

在这里插入图片描述

要只在电子邮件正文中添加收件人的姓名而不添加电子邮件域我们可以拆分字符串并选择“first”只写第一部分即“at”字符之前。

现在单击“附加文件”添加附件。这里我们将参数的方向指定为“In”确保类型为String并添加图像所在的位置。

在这里插入图片描述

在这里插入图片描述

接下来让我们添加一条日志消息来通知我们流程的执行情况。

在这里插入图片描述

通过检查Outlook收件箱文件夹我们可以看到电子邮件已发送和接收。电子邮件包括收件人的姓名、模板中的文本和保存的附件。

在这里插入图片描述

⭐ Sending a Calendar Invite with Outlook Integration

这节我们将构建一个流程从Excel文件中获取电子邮件地址并使用Outlook的集成活动发送电子邮件邀请。将根据我们将设置的配置发送到每个电子邮件地址。

让我们在项目中创建一个文件夹用于存储与会者列表。在新创建的文件夹中让我们添加包含与会者列表的Excel文件。

首先让我们阅读Excel文件。为此我们当然使用了工作簿Read Range活动。我们指定文件的路径并删除范围。让我们不要忘记用描述性的方式命名我们的活动并创建一个DataTable变量它将保存我们的参与者列表。

在这里插入图片描述

接下来我们将使用Send Calendar Invit活动该活动需要添加到Use Desktop Outlook App活动中。

在这里插入图片描述

这里有一个快速提示必须在“使用Outlook 365”、“使用Gmail”或“使用桌面Outlook应用程序”活动中添加“发送日历邀请”活动。

在这里插入图片描述

我们将该帐户称为Outlook。

让我们将其命名为Developer meeting

现在对于必填与会者字段我们需要一个表达式来容纳与会者列表。

正如前面提到的Outlook只接受一种类型的字符串。

在这里插入图片描述

因此我们用一个字符串填充该字段该字符串是通过连接数据表“与会者”列中的所有值而获得的值之间用分号分隔。

在这里插入图片描述

接下来让我们设置当前日期、时间并指定持续时间。

我们还可以提供有关地点的详细信息如Zoom meeting

要检查的一个重要属性是保存而不发送字段。如果选中会议将保存到我们的日历中但邀请不会发送给其他与会者。

这是会议邀请完美

在这里插入图片描述

4️⃣ 总结

  • 在自动化发送单个附件电子邮件的过程时我们需要创建一个in argument 将文件的路径存储在Send SMTP Mail Message活动的Attachments部分。

  • 当自动发送多个附件的过程时我们需要使用For Each File in Folder活动以及Add To Collection活动来遍历我们在文件夹中指定的每个文件。在我们的例子中我们配置了一个过滤器它只从数据文件夹中附加png文件。

  • 要创建模板我们必须将消息写入新的文本文档中然后使用Read Text活动来阅读它。

  • 要存储模板文本我们必须在Output to属性字段中创建一个新变量。

  • 要将截图附加到电子邮件我们需要使用Take Screenshot活动然后将结果存储为变量。

  • Send Outlook Mail Message活动从Outlook发送电子邮件。

5️⃣ 参考资料

About the Mail Activities Pack
App Integration


⭐写在结尾

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

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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

“【前沿技术RPA】 一文学会用UiPath实现自动发送电子邮件(Email Automation)” 的相关文章