文丨鄂攀
最近帮客户做了一个关于邮件处理的RPA项目,因为整个业务流程涉及的面比较多,实现起来确实需要考虑不少问题,所以特此做一下总结与分享。 大概业务要点如下。
但是存在一个问题,就是在处理的过程中一旦有新邮件进来,那么之前获取的Index在继续处理的时候,将会变成上一封邮件的内容。
唯一的处理办法就是处理之前关掉接受服务或者断网,但这对于公共邮箱来说,明显会产生不必要影响,所以此处能采取的就是第二种方式,邮件协议。
通过邮件协议的方式来满足此需求的话,大概需要以下邮箱功能的支持: 1、邮件收件人的单发和群发 2、邮件抄送与密送的获取和发送 3、邮件接收时间和发送时间的获取 4、邮件标题的获取与制作 5、邮件正文的获取与制作 6、邮件附件的数量获取 7、邮件附件的名字获取 8、邮件附件的添加和移除 9、某个收件箱对象的获取 10、邮件的删除和移动 11、邮件正文HTML格式的设定 12、收件箱邮件数量的获取
在这十几种里面根据模板类型和四大区域分了两大类模板,一类是能根据查找功能找到省和号码列名的,一类是只有号码没有省的,但在做这个判断前需要先分区域再分模板类型,以免新模板号码变更名字没在查找范围内(即使已经根据十几套模板提炼出所有可能和号码列名相关的字段)
此处需要说明的是:业务处理处于中游,而和上下游又没有上下级的关系,所以没法去统一上下游发送邮件的标准,而上下游涉及的人员大概在40-60人左右,200到300封邮件,所以流程最大的难度就在这里,就是如何去发现新的模板或者不在之前业务范围时把发现的情况自动告知业务人员。
数据源在经过统计或者物联号经过匹配出数据后,需要发送给统计到的相关各省,发送出去是容易的,关键是还要把发送出去的模板收集回来,等各个省份收集齐了,再汇总匹配每一个数据源里面的相关信息。
而此处ID采用时间码(精确到秒)来做标记,所以关联到另一个问题就是要做Log信息,以便于做信息回流来匹配ID,从而找到之前做数据源处理的所有关键信息。
当然,此处Log并非是RPA机器人运行时产生的日志文件,而是实现流程开发时,自己需要做的一个关键信息记录,不仅便于客户看到后,知道问题在哪,处理了哪些信息,也方便自己串联流程。
经测试,在此邮件全流程自动化中,考虑到所有的业务异常,集中处理完当天的业务大概只需要三分钟到八分钟的时间。而业务人员每天的碎片化时间集中起来大概需要花费三四个小时去专门处理此类繁琐的业务。