惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
宝玉的分享
宝玉的分享
MyScale Blog
MyScale Blog
The GitHub Blog
The GitHub Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
量子位
博客园 - 司徒正美
V
V2EX
I
InfoQ
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Vercel News
Vercel News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
美团技术团队
N
Netflix TechBlog - Medium
L
LangChain Blog
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
A
About on SuperTechFans
Microsoft Azure Blog
Microsoft Azure Blog

博客园 - web报表

eclispe 无法启动调试 cannot connect to VM 工作流之设置表访问权限 利用工作流返回达到无限次重复办理业务的过程 eworkflow工作流系统在iis中发布 ie8用ajax访问不能每次都刷新的问题 视频演示(动态指定执行人+指定申请人的上级) 视频演示eworkflow集成定制aspx页面的过程 利用开发框架中的标签库集成报表工具 流程设计器之标签工具 如何设置流程的默认版本 mysql数据库字符集的设置 struts的标签库出现Failed to load or instantiate TagExtraInfo class 简单设置eworkflow条件的方式 流程多节点调用同一张业务表单的锚点问题 工作流软件是未来web的支柱 自定义表单中多附件上传控件的实现方案 流程节点中发送邮件的解决方案 财务报销流程示例 tomcat6配置jndi连接数据库的方式
java工作流软件发送邮件的方案
web报表 · 2013-11-01 · via 博客园 - web报表

利用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工作流系统中集成发送邮件的功能,主要要设计好流程引擎的接口,在相应的节点处能调用发送邮件的类,实现发送邮件的功能。