Flowable入门系列文章47 - 电子邮件任务
Posted 分享牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flowable入门系列文章47 - 电子邮件任务相关的知识,希望对你有一定的参考价值。
Flowable允许您通过向一个或多个收件人发送电子邮件的自动邮件服务任务来增强业务流程,包括支持cc,bcc,html内容等。请注意,邮件任务不是 BPMN 2.0规范的正式任务(因此没有专门的图标)。因此,在Flowable中,邮件任务被实现为一个专门的服务任务。
1、邮件服务器配置
Flowable引擎通过具有SMTP功能的外部邮件服务器发送电子邮件。要真正发送电子邮件,引擎需要知道如何到达邮件服务器。以下属性可
以在flowable.cfg.xml配置文件中设置:
属性 | 需要 | 描述 |
---|---|---|
mailServerHost | 没有 | 您的邮件服务器的主机名(例如,mail.mycorp.com)。默认是localhost |
mailServerPort | 是的,不在默认端口上 | 邮件服务器上的SMTP通信端口。默认值是25 |
mailServerDefaultFrom | 没有 | 当用户没有提供电子邮件发件人的默认电子邮件地址。默认情况下,这是flowable@flowable.org |
mailServerUsername | 如果适用于您的服务器 | 某些邮件服务器需要凭证才能发送电子邮件。默认情况下不设置。 |
mailServerPassword | 如果适用于您的服务器 | 某些邮件服务器需要凭证才能发送电子邮件。默认情况下不设置。 |
mailServerUseSSL | 如果适用于您的服务器 | 一些邮件服务器需要SSL通信。默认情况下设置为false。 |
mailServerUseTLS | 如果适用于您的服务器 | 某些邮件服务器(例如gmail)需要TLS通信。默认情况下设置为false。 |
2、定义电子邮件任务
电子邮件任务是作为专用的服务任务实现的,通过为服务任务的类型设置“邮件”来定义。
<serviceTask id="sendMail" flowable:type="mail">
电子邮件任务由字段注入配置。这些属性的所有值都可以包含EL表达式,这些表达式在流程执行期间在运行时被解析。以下属性可以设置:
属性 | 需要 | 描述 |
---|---|---|
至 | 是 | 电子邮件的收件人。多个收件人在逗号分隔列表中定义 |
从 | 没有 | 发件人的电子邮件地址。如果未提供,则使用从地址配置的默认值。 |
学科 | 没有 | 电子邮件的主题。 |
CC | 没有 | 电子邮件的cc。多个收件人在逗号分隔列表中定义 |
BCC | 没有 | 电子邮件的密件抄送。多个收件人在逗号分隔列表中定义 |
字符集 | 没有 | 允许指定电子邮件的字符集,这是许多非英语语言所必需的。 |
HTML | 没有 | 一段HTML是电子邮件的内容。 |
文本 | 没有 | 电子邮件的内容,以防需要发送简单的,非丰富的电子邮件。可以与html结合使用,适用于不支持丰富内容的电子邮件客户端。电子邮件客户端然后可以回到这个纯文本的选择。 |
htmlVar | 没有 | 包含作为电子邮件内容的HTML的流程变量的名称。这和html的主要区别在于,这个内容在被邮件任务发送之前会被替换掉。 |
textVar | 没有 | 包含电子邮件的纯文本内容的过程变量的名称。这和文本之间的主要区别在于,这个内容在被邮件任务发送之前会被替换表达式。 |
ignoreException | 没有 | 处理电子邮件时是否失败,而不是抛出FlowableException。默认情况下,它被设置为false。 |
exceptionVariableName | 没有 | 当电子邮件处理由于ignoreException = true而不会引发异常时,将使用具有给定名称的变量来保存失败消息 |
3、用法示例
以下XML片段显示了使用电子邮件任务的示例。
<serviceTask id="sendMail" flowable:type="mail">
<extensionElements>
<flowable:field name="from" stringValue="order-shipping@thecompany.com" />
<flowable:field name="to" expression="${recipient}" />
<flowable:field name="subject" expression="Your order ${orderId} has been shipped" />
<flowable:field name="html">
<flowable:expression>
<![CDATA[
<html>
<body>
Hello ${male ? 'Mr.' : 'Mrs.' } ${recipientName},<br/><br/>
As of ${now}, your order has been <b>processed and shipped</b>.<br/><br/>
Kind regards,<br/>
TheCompany.
</body>
</html>
]]>
</flowable:expression>
</flowable:field>
</extensionElements>
</serviceTask>
上面文章来自盘古BPM研究院:http://vue.pangubpm.com/
文章翻译提交:https://github.com/qiudaoke/flowable-userguide
了解更多文章可以关注微信公众号:
以上是关于Flowable入门系列文章47 - 电子邮件任务的主要内容,如果未能解决你的问题,请参考以下文章