admin 发表于 2014-8-26 17:25:45

activiti5之邮件任务

      原文:http://zhc3191012.blog.163.com/blog/static/1855533762013825101856533/

activiti强化了业务流程,支持了自动邮件任务,它可以发送邮件给一个或多个参与者, 包括支持cc, bcc, HTML内容等等。 注意邮件任务不是BPMN 2.0规范定义的官方任务。 (它也没有对应的图标)。 因此,activiti中邮件任务是用专门的服务任务实现的。
邮件服务器配置
activiti引擎要通过支持SMTP功能的外部邮件服务器发送邮件。 为了实际发送邮件,引擎穾知道如何访问邮件服务器。 下面的配置可以设置到activiti.cfg.xml配置文件中:
Table 1. 邮件服务器配置

属性是否必须描述
mailServerHost否邮件服务器的主机名(比如:mail.mycorp.com)。默认为
localhost

mailServerPort是,如果没有使用默认端口邮件服务器上的SMTP传输端口。默认为25
mailServerDefaultFrom否如果用户没有指定发送邮件的邮件地址,默认设置的发送者的邮件地址。默认为activiti@activiti.org
mailServerUsername如果服务器需要一些邮件服务器需要认证才能发送邮件。默认不设置。
mailServerPassword如果服务器需要一些邮件服务器需要认证才能发送邮件。默认不设置。
mailServerUseSSL如果服务器需要一些邮件服务器需要ssl交互。默认为false。



定义一个邮件任务
邮件任务是一个专用的服务任务, 这个服务任务的type设置为'mail'。<serviceTask id="sendMail" activiti:type="mail">
                     
邮件任务是通过属性注入进行配置的。 所有这些属性都可以使用EL表达式,可以在流程执行中解析。 下面的属性都可以设置:
Table 2. 邮件服务器配置

属性是否必须描述
to是邮件的接受者。可以使用逗号分隔多个接受者
from否邮件发送者的地址。如果不提供,会使用默认配置的地址。
subject否邮件的主题
cc否邮件抄送人。可以使用逗号分隔多个接收者
bcc否邮件暗送人。可以使用逗号分隔多个接收者
charset否可以修改邮件的字符集,对很多非英语语言是必须设置的。
html否作为邮件内容的HTML。
text否邮件的内容,在需要使用原始文字(非富文本)的邮件时使用。 可以与html一起使用,对于不支持富客户端的邮件客户端。 客户端会降级到仅显示文本的方式。



使用实例
下面的XML演示了使用邮件任务的例子。<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>
      <!
          <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>
                      结果如下:
http://www.mossle.com/docs/activiti/images/email.task.result.png
页: [1]
查看完整版本: activiti5之邮件任务