RPA开发教程 | RPA邮件自动化技巧

简介: 原文地址:https://www.uibot.com.cn/news-5-1234.html最近笔者帮客户做了一个关于邮件处理的RPA项目,因为整个业务流程涉及的面比较多,实现起来确实需要考虑不少问题,所以特此做一下RPA邮件自动化技巧总结与分享。

原文地址:https://www.uibot.com.cn/news-5-1234.html

最近笔者帮客户做了一个关于邮件处理的RPA项目,因为整个业务流程涉及的面比较多,实现起来确实需要考虑不少问题,所以特此做一下RPA邮件自动化技巧总结与分享。

大概RPA邮件自动化业务要点如下:

RPA开发教程 | RPA邮件自动化技巧

关于客户的邮件流程全自动化,构想是希望通过无人值守的模式来对业务流程进行自动化处理,实现无人监管的模式。当有程序异常或者业务异常,再发送给相关IT人员和业务人员进行调整处理。

业务流程处理的技术方式有两种:

1、一种是通过网页前端页面的形式来获取发件人,标题,正文等内容进行判断处理;

2、另一种方式是通过邮件协议的方式,后台来实现业务流程自动化。

RPA开发教程 | RPA邮件自动化技巧

第一种前端页面的实现方式,是可视化方式,业务人员能够很直观的看到邮件在前端页面的展示方式。

但是存在一个问题,就是在处理的过程中一旦有新邮件进来,那么之前获取的Index在继续处理的时候,将会变成上一封邮件的内容。

唯一的处理办法就是处理之前关掉接受服务或者断网,但这对于公共邮箱来说,明显会产生不必要影响,所以此处能采取的就是第二种方式,邮件协议。

通过邮件协议的方式来满足此需求的话,大概需要以下邮箱功能的支持:
1、邮件收件人的单发和群发
2、邮件抄送与密送的获取和发送
3、邮件接收时间和发送时间的获取
4、邮件标题的获取与制作
5、邮件正文的获取与制作
6、邮件附件的数量获取
7、邮件附件的名字获取
8、邮件附件的添加和移除
9、某个收件箱对象的获取
10、邮件的删除和移动
11、邮件正文HTML格式的设定
12、收件箱邮件数量的获取

RPA开发教程 | RPA邮件自动化技巧

流程先从数据源开始分析:

根据以上流程图先说数据源模板,数据源模板,前期客户大概提供了十几种。

在这十几种里面根据模板类型和四大区域分了两大类模板,一类是能根据查找功能找到省和号码列名的,一类是只有号码没有省的,但在做这个判断前需要先分区域再分模板类型,以免新模板号码变更名字没在查找范围内(即使已经根据十几套模板提炼出所有可能和号码列名相关的字段)

此处需要说明的是:业务处理处于中游,而和上下游又没有上下级的关系,所以没法去统一上下游发送邮件的标准,而上下游涉及的人员大概在40-60人左右,200到300封邮件,所以流程最大的难度就在这里,就是如何去发现新的模板或者不在之前业务范围时把发现的情况自动告知业务人员。

数据源在经过统计或者物联号经过匹配出数据后,需要发送给统计到的相关各省,发送出去是容易的,关键是还要把发送出去的模板收集回来,等各个省份收集齐了,再汇总匹配每一个数据源里面的相关信息。

RPA开发教程 | RPA邮件自动化技巧

所以需要对发出去的每一封邮件做标记ID,以致于他们回复的时候,知道这封邮件是需要处理的邮件,并且根据ID知道属于之前的哪一个数据源以及是不是最后一封需要收集的邮件,以做统计。

而此处ID采用时间码(精确到秒)来做标记,所以关联到另一个问题就是要做Log信息,以便于做信息回流来匹配ID,从而找到之前做数据源处理的所有关键信息。

当然,此处Log并非是RPA机器人运行时产生的日志文件,而是实现流程开发时,自己需要做的一个关键信息记录,不仅便于客户看到后,知道问题在哪,处理了哪些信息,也方便自己串联流程。

经测试,在此邮件全流程自动化中,考虑到所有的业务异常,集中处理完当天的业务大概只需要三分钟到八分钟的时间。而业务人员每天的碎片化时间集中起来大概需要花费三四个小时去专门处理此类繁琐的业务。

相关实践学习
基于阿里云短信服务的防机器人验证
基于阿里云相关产品和服务实现一个手机验证码登录的功能,防止机器人批量注册,服务端采用阿里云ECS服务器,程序语言选用JAVA,服务器软件选用Tomcat,应用服务采用阿里云短信服务,
目录
相关文章
|
3天前
|
小程序 前端开发 持续交付
小程序全栈开发中的CI/CD流程与自动化部署是一种高效的开发模式。
本文探讨小程序全栈开发中的CI/CD流程与自动化部署,介绍持续集成与部署的概念,包括自动化构建、测试、代码审查及部署实践。通过提高代码质量、迭代速度及团队协作效率,确保小程序稳定运行与良好用户体验。
11 2
|
7天前
|
jenkins 持续交付 开发工具
自动化开发之旅:Docker携手Jenkins,与Git和Tomcat共舞持续集成
【8月更文挑战第13天】在软件开发中,持续集成(CI)通过自动化构建、测试与部署提升效率与稳定性。Docker、Jenkins、Git和Tomcat构成CI的黄金组合:`git push`触发Jenkins作业,利用Docker确保环境一致性,最终将应用部署至Tomcat。首先配置Git Webhooks以触发Jenkins;接着在Jenkins中创建作业并使用Docker插件模拟真实环境;通过Maven构建项目;最后部署至Tomcat。这套流程减少人为错误,提高开发效率,展示了技术的力量与流程的革新。
18 0
|
1月前
|
测试技术 API Android开发
《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)
【7月更文挑战第15天】这是关于自动化测试框架中Selenium API二次封装的教程总结。教程中介绍了如何设计一个支持不同浏览器测试的页面基类(BasePage),该基类包含了对Selenium方法的二次封装,如元素的输入、点击、清除等常用操作,以减少重复代码。此外,页面基类还提供了获取页面标题和URL的方法。
44 2
|
1月前
|
Web App开发 XML Java
《手把手教你》系列基础篇(九十六)-java+ selenium自动化测试-框架之设计篇-跨浏览器(详解教程)
【7月更文挑战第14天】这篇教程介绍了如何使用Java和Selenium构建一个支持跨浏览器测试的自动化测试框架。设计的核心是通过读取配置文件来切换不同浏览器执行测试用例。配置文件中定义了浏览器类型(如Firefox、Chrome)和测试服务器的URL。代码包括一个`BrowserEngine`类,它初始化配置数据,根据配置启动指定的浏览器,并提供关闭浏览器的方法。测试脚本`TestLaunchBrowser`使用`BrowserEngine`来启动浏览器并执行测试。整个框架允许在不同浏览器上运行相同的测试,以确保兼容性和一致性。
47 3
|
1月前
|
存储 Web App开发 Java
《手把手教你》系列基础篇(九十五)-java+ selenium自动化测试-框架之设计篇-java实现自定义日志输出(详解教程)
【7月更文挑战第13天】这篇文章介绍了如何在Java中创建一个简单的自定义日志系统,以替代Log4j或logback。
135 5
|
1月前
|
设计模式 测试技术 Python
《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
【7月更文挑战第10天】Page Object Model (POM)是Selenium自动化测试中的设计模式,用于提高代码的可读性和维护性。POM将每个页面表示为一个类,封装元素定位和交互操作,使得测试脚本与页面元素分离。当页面元素改变时,只需更新对应页面类,减少了脚本的重复工作和维护复杂度,有利于团队协作。POM通过创建页面对象,管理页面元素集合,将业务逻辑与元素定位解耦合,增强了代码的复用性。示例展示了不使用POM时,脚本直接混杂了元素定位和业务逻辑,而POM则能解决这一问题。
43 6
|
1月前
|
设计模式 Java 测试技术
《手把手教你》系列基础篇(九十四)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-下篇(详解教程)
【7月更文挑战第12天】在本文中,作者宏哥介绍了如何在不使用PageFactory的情况下,用Java和Selenium实现Page Object Model (POM)。文章通过一个百度首页登录的实战例子来说明。首先,创建了一个名为`BaiduHomePage1`的页面对象类,其中包含了页面元素的定位和相关操作方法。接着,创建了测试类`TestWithPOM1`,在测试类中初始化WebDriver,设置驱动路径,最大化窗口,并调用页面对象类的方法进行登录操作。这样,测试脚本保持简洁,遵循了POM模式的高可读性和可维护性原则。
27 2
|
17天前
|
JSON 前端开发 JavaScript
革新Admin.NET框架:前端体验飞跃与代码生成自动化的双重革命,引领高效开发新时代!
【8月更文挑战第3天】Admin.NET是一款专为现代企业应用打造的高效框架,凭借强大的后台管理和灵活的扩展性深受开发者喜爱。本文探讨如何优化其前端体验与开发效率。首先,通过采用Flexbox和CSS Grid等技术实现响应式布局重构,确保了不同设备上的一致体验。其次,引入Vue.js或React实现组件化开发,提高代码复用性和维护性。再者,利用Webpack等工具进行性能优化,提升页面加载速度。此外,开发了代码生成器以自动生成CRUD模块,极大提高了开发效率。这些改进使Admin.NET前端开发更高效、灵活且易于维护。
14 0
|
1月前
|
XML Java 测试技术
《手把手教你》系列基础篇(九十一)-java+ selenium自动化测试-框架设计基础-Logback实现日志输出-下篇(详解教程)
【7月更文挑战第9天】在Java项目中,使用Logback配置可以实现日志按照不同包名输出到不同的文件,并且根据日志级别分开记录。
55 4
|
1月前
|
XML 测试技术 数据格式
《手把手教你》系列基础篇(八十五)-java+ selenium自动化测试-框架设计基础-TestNG自定义日志-下篇(详解教程)
【7月更文挑战第3天】TestNG教程展示了如何自定义日志记录。首先创建一个名为`TestLog`的测试类,包含3个测试方法,其中一个故意失败以展示日志。使用`Assert.assertTrue`和`Reporter.log`来记录信息。接着创建`CustomReporter`类,继承`TestListenerAdapter`,覆盖`onTestFailure`, `onTestSkipped`, 和 `onTestSuccess`,在这些方法中自定义日志输出。
37 6