Activiti支持交易过程中发送电子邮件,配置邮件服务器是可选的。发送邮件需要一个可用的SMTP(简单邮件传输协议)服务器。
工作流引擎通过外部的SMTP邮箱服务器发送电子邮件,可以在activiti.cfg.xml中进行相关配置:
属性 | 是否必须配置 | 描述 |
---|---|---|
mailServerHost | 否 | 邮件服务器主机名 (如:mail.mycorp.com). 默认是 |
mailServerPort | 不使用默认值时,必输配置 | SMTP在邮件服务器上的通信端口. 默认是 25 |
mailServerDefaultFrom | 否 | 默认邮件发送地址, 不配置时默认是 activiti@activiti.org |
mailServerUsername | 如果适用于服务器 | 一些邮件服务器发送邮件需要凭证(资格证书,用户名)。没有默认值 |
mailServerPassword | 如果适用于服务器 | 一些邮件服务器发送邮件需要凭证(资格证书,密码)。没有默认值 |
mailServerUseSSL | 如果适用于服务器 | 一些邮件服务器需要ssl通信. 默认设置为false. |
mailServerUseTLS | 如果适用于服务器 | 一些邮件服务器需要TLS通信. 默认设置为false. |
<serviceTask id="sendMail" activiti:type="mail">
Email task通过字段注入配置,所有的属性值都可以包含EL表达式,这些表达式在执行期间进行解析,可配置的属性如下:
属性 | 是否必须 | 描述 |
---|---|---|
to | 是 | 多个收件人使用","分开 |
from | 否 | 邮件发送者地址,没有配置使用默认地址 |
subject | 否 | 邮件主题 |
cc | 否 | 电子邮件的抄送。在逗号分隔列表中定义多个收件人 |
bcc | 否 | 电子邮件的密件传。在逗号分隔列表中定义多个收件人 |
charset | 否 | 允许改变邮件的字符集,非英语语言必需。 |
html | 否 | 邮件中包含html |
text | 否 | 电子邮件的内容,以防发送none-rice的电子邮件。 可以与HTML结合使用,对于不支持rich内容的电子邮件客户端。客户将回落到这个文本唯一的选择。 |
htmlVar | 否 | 一个进程变量的名称,它包含了电子邮件内容的HTML。 这和HTML之间的主要区别在于,在邮件任务发送之前,该内容将替换表达式。 |
textVar | 否 | 持有电子邮件纯文本内容的过程变量的名称。 这和HTML之间的主要区别在于,在邮件任务发送之前,该内容将替换表达式。 |
ignoreException | 否 | 忽略处理电子邮件抛出的activitiexception。默认情况下设置为false。 |
exceptionVariableName | 否 | ignoreException=true时邮件处理不抛出异常,用该属性设置的变量名返回异常信息。 |
<serviceTask id="sendMail" activiti:type="mail">
<extensionElements>
<activiti:field name="from" stringValue="order-shipping@thecompany.com" />
<activiti:field name="to" expression="${recipient}" />
<activiti:field name="subject" expression="Your order ${orderId} has been shipped" />
<activiti:field name="html">
<activiti: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>
]]>
</activiti:expression>
</activiti:field>
</extensionElements>
</serviceTask>