Flowable发邮件,近期研究了一下flowable发邮件的功能,在这里分享一下flowable邮件任务的功能。本文重点分析一下内容:
1.文档中定义如何发邮件,包括邮件的内容,收件人、主题,抄送等。
2.流程引擎配置类中定义发件人的信息。
3.测试邮件是否可以发送。
1.定义流程文档
首先,我们定义一个可以发邮件的文档,文档图如下所示:
我们重点看一下邮件服务任务的配置,注意邮件任务本质上也是一个serviceTask,上图中的邮件任务详细配置如下图所示:
这些配置的属性最终在xml文档的表示如下所示:
2.邮件服务配置信息
属性是否必须描述
to是邮件的接受者。可以使用逗号分隔多个接受者
from否邮件发送者的地址。如果不提供,会使用默认配置的地址。
subject否邮件的主题
cc否邮件抄送人。可以使用逗号分隔多个接收者
bcc否邮件暗送人。可以使用逗号分隔多个接收者
charset否可以修改邮件的字符集,对很多非英语语言是必须设置的。
html否作为邮件内容的HTML。
text否邮件的内容,在需要使用原始文字(非富文本)的邮件时使用。 可以与html一起使用,对于不支持富客户端的邮件客户端。 客户端会降级到仅显示文本的方式。
3.流程文档的配置
上面,我们绘制了文档并定义了收件人的一些信息,但是这个邮件是谁发的呢?换言之发件人是谁?这些信息我们需要进行配置,具体配置信息如下:
class="org.flowable.engine.impl.cfg.StandaloneProcessEngineConfiguration">
mailServerHost:发邮件的主机地址。
mailServerPort:发邮件的主机暴露的端口。
mailServerDefaultFrom:默认的发件人。
mailServerUsername:发件人的邮箱用户名。
mailServerPassword:POP3/SMTP服务的授权码(注意一点,这里并不是邮箱的密码)。
4.部署上述文档并进行测试
其中启动流程实例的相关代码如下所示:
@Test
public void start1() {
Authentication.setAuthenticatedUserId("分享牛");
runtimeService.startProcessInstanceByKey("myProcess");
}
不出意外的话,发送的邮件截图信息如下:
至此,邮件任务使用以及测试通过。