java工作流軟件發(fā)送郵件的方案
利用javamail的功能將發(fā)送郵件的功能集成到java工作流系統(tǒng)中。javamail包提供有發(fā)送郵件的方法,設置發(fā)送人地址,收件人地址,抄送,主題,郵件服務器地址,認證用戶等信息,再調用javamail的發(fā)送功能,就能將郵件發(fā)出。 將發(fā)送郵件的功能封裝成通用的類,將發(fā)送人,收件人,認證用戶,郵件服務器地址等作為參數(shù),傳遞到通用的郵件類中。在需要發(fā)送郵件的節(jié)點處設置這些信息。java工作流引擎在執(zhí)行流程的流轉時,解釋這些參數(shù)和執(zhí)行發(fā)送郵件的類,將郵件發(fā)送給指定的人。托福答案
java工作流引擎在設計之初就應該留好這些接口,供集成發(fā)送郵件,發(fā)送短信等調用,當用戶有了這些需求時,能快速方便的設置和使用這些功能。在eworkflow for java版本中就集成有發(fā)送郵件的功能。sat答案
發(fā)送郵件有定制的,也有直接調用的兩種方式,在節(jié)點辦理的前后可以指定發(fā)送郵件的功能。在任務引擎中也配置有發(fā)送郵件的功能,給任務創(chuàng)建人發(fā)送郵件,任務超期后,給相關人員發(fā)送郵件通知,任務完成時也可以發(fā)送郵件通知。甚至在任務分派后,定時的不斷發(fā)送,直至任務完成。
利用javaMail發(fā)送郵件的功能很簡單
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");
獲取設置信息中的發(fā)送人,收件人,主題,郵件服務器等信息
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();
執(zhí)行發(fā)送郵件的命令
在java工作流系統(tǒng)中集成發(fā)送郵件的功能,主要要設計好流程引擎的接口,在相應的節(jié)點處能調用發(fā)送郵件的類,實現(xiàn)發(fā)送郵件的功能。