首页 解决方案 邮件通知功能报错的原因分析

邮件通知功能报错的原因分析

作者:吴长军 审校:丁建新 测试版本:TC10 用户在配置流程时,经常会提出要求,在每个节点配置邮件通知,以便提醒用户及时进行审批。

邮件通知功能报错的原因分析

作者:吴长军   审校:丁建新

测试版本:TC10

用户在配置流程时,经常会提出要求,在每个节点配置邮件通知,以便提醒用户及时进行审批。这个功能是使用的系统默认的handler,EPM-Notify这个handler。但是实际使用时,在有些情况流程虽然提交,但是此程序会报错,且无法收到邮件。错误如图1:

 

邮件通知功能报错的原因分析

图1

此问题的复杂之处在于有时报错,有时正常。而且此handler是系统自带的handler,一般健壮性是比较好的,通常不会出问题。例如我下图所做的demo流程,校对节点时,用户就可以顺利收到通知邮件,但是校对提交时就会报错,批准人员无法收到邮件。

邮件通知功能报错的原因分析

图2

我们对问题多个层面进行了分析。首先两层tao窗口和syslog未发现有用信息。又是OOTB的handler,无法修改源码,追加注释信息来协助分析问题。其次是在同一个流程不同节点配置了多次handler,配置参数没有问题。第三,我们针对同一个对象提交流程得到不同结果,item本身也没有什么问题。最后我们定位的问题的原因还是权限问题导致的程序报错。

我们来分析下产生的具体原因。首先是该项目对权限控制的非常细,不同组之间创建的对象都互相不可见。但是审核时有需要跨组审核。流程配置时,是在各节点配置了动态读权限,以保证各节点审核时都能正常看到目标对象。

邮件通知功能报错的原因分析

图3

通常情况下,如果流程不涉及到邮件通知的话,现有配置已解决了跨组或者跨部门的审核要求。可以实现正常的流程审批。

邮件通知功能报错的原因分析

图4

但是如果有邮件通知就有可能失败。这就要分析一下邮件通知的逻辑了。我们通知的目的是为了提醒审核者审批,所以我们要配到审核节点,通知校对人员,我们要配到校对的开始位置,通知批准人员,配置到批准节点的开始位置。功能触发是当前节点提交任务后,触发后一个节点开始位置处的通知handler来发送邮件通知。发件人是当前节点的审核人,接收人是下一节点的审核人。hanller是配置在下一个节点开始处。这样当前节点审核人一旦提交流程,流程任务就跑到下一个节点触发,当前节点审核人如果是跨部门且在工作中对该对象无读权限的话,这时触发邮件通知功能时,由于无读权限,导致目标对象为NULL,程序发送邮件失败。而发起人提交任务给校对时,由于对象是发起人创建的,发起人一直有读权限,就会正常发送邮件。

所以邮件通知功能也牵涉到了权限问题。当某些单位权限管理比较细致,跨部门无权限的时候,就可能导致发送邮件失败。在于客户沟通方案时,如果客户权限要求较高且需要邮件通知时,一定要考虑此问题,并与客户沟通,避免后续实施时由于权限无法满足要求导致邮件功能失败。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: suifengmianlai

为您推荐

生产制造 | 数控仿真保证“安全” 之 NCSIMUL四轴机床搭建

NCSIMUL 通过上一期对三轴机床搭建的讲解和演示,想必大家已经能够搭建自己专属的三轴机床。

质量管理 | 海克斯康 Q-DAS®与SAP QM的交互应用方案

SAP(System Applications and Product) 软件在企业的部署着眼于中央业务流程的优化。

新能源汽车供应链强力转型,数字化供应链系统订单管理数字化助力企业降本增效

当前,全球新能源汽车产业发展驶入快车道,新产品新技术加快研发运用,技术创新带动产业持续升级。

进度猫甘特图:项目管理中的任务分解工具

项目管理中是将大的项目目标划分为各个小阶段任务,WBS就是化繁为简,将负责非项目拆分为简单的任务,它可让事情依照一定规则或关系,通过一层一层来分解,这样要做的任务可以变为小目标。

查看流程审批历史记录解决方案

作者:黄鹏 审校:李达 适用版本:TC11 用户可以在TC中看到整个流程的历史记录,包括驳回,审批,编制的操作,这样可以方便我们查看哪些人参与了这个流程。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部