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

Original: https://www.cnblogs.com/webreport/p/3402256.html
Author: web报表
Title: java工作流软件发送邮件的方案

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/538118/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Servlet Interface

    Servlet Interface Servlet接口是Java Servlet API 核心抽象接口。大多数Servlet实现直接实现Servlet接口,或者是继承已经实现Ser…

    Java 2023年6月15日
    080
  • 发送邮件(代码库)

    如果 cookie 里已经有了JSESSIONID ,那就可以从 request 中获取。 但是它是怎么来的呢?答:是在最开始生成会话的时候来的。那如果想要在生成的时候,就获取到J…

    Java 2023年5月29日
    067
  • IDEA导入maven项目后,右侧没有maven栏,build失败

    先在view的tools windows里看看有没有maven没有的话 在help里搜功能add maven project 看能不能成功 不能的话如果原因是[FATAL_ERRO…

    Java 2023年6月5日
    093
  • 单例模式–还没从工厂中逃脱出来?看来是注定单身了..

    前言 上次我们聊了聊一个略微重量级的工厂模式,不知道你是否消化完从工厂中逃脱出来了呢?不是我说,今天的单例模式,恰恰好相反了,孤孤单单,看来是注定单身了.. 先来看看单例模式在jd…

    Java 2023年6月5日
    094
  • TreeMap源码分析

    TreeMap源码分析 数据结构 TreeMap使用红黑树来存储数据,红黑树是一种平衡二叉查找树,它是一种高效的搜索算法,它的算法时间复杂度是O(lgn) 增删改查 增改 publ…

    Java 2023年6月16日
    083
  • Java 生成验证码图片

    验证码的作用:区分开 机器 与 人 (比如防止恶意注册) 直接上 代码 与 效果图 (我想要的真正的效果还没有时间做出来,先这么凑合着用) 工具类: VerificationCdo…

    Java 2023年5月29日
    076
  • [转]a stop job is running for session [sessionid] of user

    转载:http://blog.chinaunix.net/uid-7713641-id-5748056.html 我习惯于在shell里面init 0了,不过今天碰到这个怪事,in…

    Java 2023年5月30日
    096
  • 微服务SpringCloud之服务网关zuul二

    Zuul的核心 Filter是Zuul的核心,用来实现对外服务的控制。Filter的生命周期有4个,分别是”PRE”、”ROUTING&#822…

    Java 2023年5月30日
    081
  • 理解Java注解类型

    一. 理解Java注解 注解本质是一个继承了Annotation的特殊接口,其具体实现类是Java运行时生成的动态代理类。而我们通过反射获取注解时,返回的是Java运行时生成的动态…

    Java 2023年5月29日
    065
  • mybatis(CRUD)

    3、mybatis(CRUD) 有了mybatis,我们要对数据库进行增删改查只需要操作接口和mapper.xml文件,然后进行测试就可以了。 实例代码如下: public int…

    Java 2023年6月13日
    071
  • Disruptor测试结果运算1亿次,耗时5503ms,吞吐量18171000/s,于是我扒开了Disruptor高性能的外衣

    能对比测试 为了直观地感受 Disruptor 有多快,设计了一个性能对比测试:Producer 发布 1 亿次事件,从发布第一个事件开始计时,捕捉 Consumer 处理完所有事…

    Java 2023年6月15日
    064
  • Spring-cloud-alibaba-nacos(配置中心)快速入门(二)

    命名空间 (作用: 配置隔离) 默认的新增配置都在 public(保留空间) 中 配置隔离: 为了区分开发的环境需要配置不同的命名空间 (例: dev,uat,prod) 现在返回…

    Java 2023年6月5日
    081
  • File类及文件夹的完整复制

    File类 在实现IO流对文件处理的时候,有一个类是一定要学习的,那就是File类 File类的父类是Object,所以不能完成文件的读写操作 file对象代表文件和目录路径所在的…

    Java 2023年6月9日
    081
  • Java基础 awt Frame 窗体的大小不可调

    JDK :OpenJDK-11 OS :CentOS 7.6.1810 IDE :Eclipse 2019‑03 typesetting :Markdown code packag…

    Java 2023年5月29日
    092
  • 2.搭建SSH

    1.创建项目在Eclipse中创建项目,右键解决报错即可导入MyEclipse中,防止Myeclipse中总是报错问题(注意jdk版本问题)2.导包: org.springfram…

    Java 2023年6月13日
    059
  • nginx 代理https后,应用redirect https变成http

    nginx配置https,tomcat正常http接受nginx转发。nginx 代理https后,(java代码redirect地址)应用redirect https变成http…

    Java 2023年5月30日
    073
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球