疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java工作流软件发送邮件的方案


 

  利用javamail的功能将发送邮件的功能集成到java工作流系统中。javamail包提供有发送邮件的方法,设置发送人地址,收件人地址,抄送,主题,邮件服务器地址,认证用户等信息,再调用javamail的发送功能,就能将邮件发出。 将发送邮件的功能封装成通用的类,将发送人,收件人,认证用户,邮件服务器地址等作为参数,传递到通用的邮件类中。在需要发送邮件的节点处设置这些信息。java工作流引擎在执行流程的流转时,解释这些参数和执行发送邮件的类,将邮件发送给指定的人。

  java工作流引擎在设计之初就应该留好这些接口,供集成发送邮件,发送短信等调用,当用户有了这些需求时,能快速方便的设置和使用这些功能。在eworkflow for java版本中就集成有发送邮件的功能。

  发送邮件有定制的,也有直接调用的两种方式,在节点办理的前后可以指定发送邮件的功能。在任务引擎中也配置有发送邮件的功能,给任务创建人发送邮件,任务超期后,给相关人员发送邮件通知,任务完成时也可以发送邮件通知。甚至在任务分派后,定时的不断发送,直至任务完成。

  利用javaMail发送邮件的功能很简单

  String to = (String) args.get("to");

  String from = (String) args.get("from");

  String subject = (String) args.get("subject");

  String cc = (String) args.get("cc");

  String m = (String) args.get("message");

  String smtpHost = (String) args.get("smtpHost");

  获取设置信息中的发送人,收件人,主题,邮件服务器等信息

  message.setSubject(parseVariables ? variableResolver.translateVariables(subject, transientVars, ps)。toString() : subject); message.setSentDate(new Date());

  message.setText(parseVariables ? variableResolver.translateVariables(m, transientVars, ps)。toString() : m); message.saveChanges();

  transport.connect();

  transport.send(message);

  transport.close();

  执行发送邮件的命令

  在java工作流系统中集成发送邮件的功能,主要要设计好流程引擎的接口,在相应的节点处能调用发送邮件的类,实现发送邮件的功能。