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


大概业务要点如下。


来也科技智能自动化平台-助力政企实现智能时代的人机协同

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


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


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

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


来也科技智能自动化平台-助力政企实现智能时代的人机协同


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


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


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


通过邮件协议的方式来满足此需求的话,大概需要以下邮箱功能的支持:


1、邮件收件人的单发和群发
2、邮件抄送与密送的获取和发送
3、邮件接收时间和发送时间的获取

4、邮件标题的获取与制作

5、邮件正文的获取与制作

6、邮件附件的数量获取
7、邮件附件的名字获取
8、邮件附件的添加和移除

9、某个收件箱对象的获取

10、邮件的删除和移动
11、邮件正文HTML格式的设定
12、收件箱邮件数量的获取


来也科技智能自动化平台-助力政企实现智能时代的人机协同


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


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


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


此处需要说明的是:


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


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


来也科技智能自动化平台-助力政企实现智能时代的人机协同


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


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


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


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