利用javamail的功能將發送郵件的功能集成到java工做流系統中。javamail包提供有發送郵件的方法,設置發送人地址,收件人地址,抄送,主題,郵件服務器地址,認證用戶等信息,再調用javamail的發送功能,就能將郵件發出。 將發送郵件的功能封裝成通用的類,將發送人,收件人,認證用戶,郵件服務器地址等做爲參數,傳遞到通用的郵件類中。在須要發送郵件的節點處設置這些信息。java工做流引擎在執行流程的流轉時,解釋這些參數和執行發送郵件的類,將郵件發送給指定的人。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");get
獲取設置信息中的發送人,收件人,主題,郵件服務器等信息 workflow
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); mail
transport.close();
執行發送郵件的命令
在java工做流系統中集成發送郵件的功能,主要要設計好流程引擎的接口,在相應的節點處能調用發送郵件的類,實現發送郵件的功能。