流程节点中发送邮件的解决方案
在流程引擎中,需要内置发送邮件的功能,当流程流转的时候,提交给下一步人办理时,可以发送邮件通知下一步的办理人,及时登录系统,处理相应的任务。
邮件的发送,需要在当前节点办理完成后,有流程引擎来调用发送邮件的功能,发送邮件,同时获取发送人的邮件地址,发送给谁的邮件地址,邮件正文的信息等等。。。
这些邮件的地址信息和邮件正文等,需要可以编辑,同时还需要从业务数据中获取,所以需要用到表达式,在发送邮件之前需要解释表达式。
邮件地址,邮件服务器等可以在流程定义的时候,通过参数来设置,各种不同的邮件服务器地址。
在eworkflow工作流系统中,邮件的发送可以在流程的节点办理的后置函数中来处理。将邮件发送的功能做成一个事件函数,挂接到流程的节点上,发送邮件的功能事件函数可以是定制的也可以是通用的,这样更加灵活的实现各种各样的发送邮件的功能。
如:在流程定义的界面上可以这样来设置发送邮件的事件函数:
在流程引擎中,将发送邮件的功能做成一个事件函数类 如FcSendEmail类,需要实现FunctionProvider接口,并在execute方法中获取流程定义的参数,解释参数中的表达式,并启动发送流程的功能。
设置邮件发送人,邮件接收人,解释邮件正文中的表达式,将邮件发送出去。
在流程实例流转时,节点办理完成了,触发后置事件,将邮件发送出去。