盘古BPM体验地址    盘古BPM交流群盘古BPM交流群号:963222735

Flowable发邮件

分享牛 4452℃

    Flowable发邮件,近期研究了一下flowable发邮件的功能,在这里分享一下flowable邮件任务的功能。本文重点分析一下内容:

1.文档中定义如何发邮件,包括邮件的内容,收件人、主题,抄送等。

2.流程引擎配置类中定义发件人的信息。

3.测试邮件是否可以发送。

1.定义流程文档

    首先,我们定义一个可以发邮件的文档,文档图如下所示:

    我们重点看一下邮件服务任务的配置,注意邮件任务本质上也是一个serviceTask,上图中的邮件任务详细配置如下图所示:


    这些配置的属性最终在xml文档的表示如下所示:

<serviceTask id="mailtask1" name="Mail Task" activiti:type="mail">
<extensionElements>
<activiti:field name="to">
<activiti:string><![CDATA[3152981878@qq.com]]></activiti:string>
</activiti:field>
<activiti:field name="subject">
<activiti:expression><![CDATA[邮件标题]]></activiti:expression>
</activiti:field>
<activiti:field name="charset">
<activiti:string><![CDATA[UTF-8]]></activiti:string>
</activiti:field>
<activiti:field name="html">
<activiti:string><![CDATA[分享牛Flowable教程开始录制了。]]></activiti:string>
</activiti:field>
</extensionElements>
</serviceTask>

2.邮件服务配置信息


属性

是否必须

描述

to

邮件的接受者。可以使用逗号分隔多个接受者

from

邮件发送者的地址。如果不提供,会使用默认配置的地址。

subject

邮件的主题

cc

邮件抄送人。可以使用逗号分隔多个接收者

bcc

邮件暗送人。可以使用逗号分隔多个接收者

charset

可以修改邮件的字符集,对很多非英语语言是必须设置的。

html

作为邮件内容的HTML。

text

邮件的内容,在需要使用原始文字(非富文本)的邮件时使用。 可以与html一起使用,对于不支持富客户端的邮件客户端。 客户端会降级到仅显示文本的方式。

3.流程文档的配置

    上面,我们绘制了文档并定义了收件人的一些信息,但是这个邮件是谁发的呢?换言之发件人是谁?这些信息我们需要进行配置,具体配置信息如下:

	<bean id="processEngineConfiguration"
class="org.flowable.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="dataSource" ref="dataSource" />
<property name="databaseSchemaUpdate" value="true" />
<property name="mailServerHost" value="smtp.qq.com" />
<property name="mailServerPort" value="587"/>
<property name="mailServerDefaultFrom" value="1515308@qq.com" />
<property name="mailServerUsername" value="1515308@qq.com" />
<property name="mailServerPassword" value="分享牛" />
<property name="mailServerUseSSL" value="true" />
</bean>


mailServerHost:发邮件的主机地址。

mailServerPort:发邮件的主机暴露的端口。

mailServerDefaultFrom:默认的发件人。

mailServerUsername:发件人的邮箱用户名。

mailServerPassword:POP3/SMTP服务的授权码(注意一点,这里并不是邮箱的密码)。

4.部署上述文档并进行测试

    其中启动流程实例的相关代码如下所示:

@Test
public void start1() {
Authentication.setAuthenticatedUserId("分享牛");
runtimeService.startProcessInstanceByKey("myProcess");
}

不出意外的话,发送的邮件截图信息如下:


    至此,邮件任务使用以及测试通过。

转载请注明:分享牛 » Flowable发邮件