JFinal项目发送邮件——jfinal-mail-plugin
JFianl框架:
JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :)
JFinal框架有自己的邮件发送插件——jfinal-mail-plugin,支持发送普通邮件,模板邮件,还支持发送附件,jfinal-mail-plugin还可以配置多邮件发送数据源。
JFinal项目发送邮件插件:jfinal-mail-plugin
JFinal官方地址:http://www.jfinal.com/project/33
jfinal-mail-plugin是jfinal的一个邮件发送插件,支持发送普通邮件、与附件邮件,邮件内容支持通过模板生成,同时还支持多个邮件发送源,她继承了Jfinal核心目标“开发迅速,代码量少,学习简单。。。”,只需简单的2行代码即可实现邮件发送!为您节约更多时间,去陪恋人、家人和朋友 :) ,核心代码通过spring-context-support包的邮件模块移植,JavaMailSender对象如何发送邮件可直接参照Spring的邮件发送文档。
码云源码地址:https://gitee.com/xiyoufang/jfinal-mail-plugin
以上是该项目的源码,使用时直接调用就可以。
使用方法:
和使用JFinal一样,只需要在pom文件中引入jfinal-mail-plugin即可。
在pom中添加jfinal-mail-plugin:
<dependency>
<groupId>cn.fsdev</groupId>
<artifactId>jfinal-mail-plugin</artifactId>
<version>3.0</version>
</dependency>
添加邮件配置文件:
#邮箱HOST
host=smtp.qq.com
#协议
protocol=smtp
#端口
port=465
#发送邮箱
username=**@qq.com
#密码
password=**
#权限认证
mail.smtp.auth=true
#超时时间
mail.smtp.timeout=5000
#是否是ssl
mail.smtp.ssl.enable=true
项目启动时启动jfinal-mail-plugin插件:
me.add(new MailPlugin(PropKit.use("mail.properties").getProperties()));
发送普通邮件:
public void senmail(){
System.out.println("发送邮件:");
try{
MailKit.send("**@qq.com", null, "邮件标题", "邮件内容");
System.out.println("成功");
}catch (Exception e){
System.out.println("失败");
e.printStackTrace();
}
}
我们可以看到邮件发送工具 MailKit 的代码:
package com.jfplugin.mail; import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import com.jfplugin.mail.core.JavaMailSender; /**
* 发送邮件工具
* @author farmer
*
*/
public class MailKit { static Map<String, MailPro> proMap = new HashMap<String, MailPro>(); static MailPro mailPro = null; /**
*
* @param configName
* @param mailPro
*/
static void init(String configName , MailPro mailPro){
if(proMap.get(configName) != null){
throw new RuntimeException(configName+"配置的Mail已经存在!");
}
proMap.put(configName, mailPro);
if(MailPlugin.MAIN_CONFIG.equals(configName)){
MailKit.mailPro = mailPro;
}
} /**
*
* @param configName
* @return
*/
public static MailPro use(String configName){
MailPro mailPro = proMap.get(configName);
if(mailPro == null){
throw new RuntimeException(configName+"配置的Mail不存在!");
}
return mailPro;
} /**
* 发送邮件
* @param to
* 收件人
* @param cc
* 发件人
* @param subject
* 主题
* @param text
* 内容
*/
public static void send(String to,List<String> cc,String subject,String text){
mailPro.send(to, cc, subject, text);
} /**
* 发送邮件
* @param to
* 收件人
* @param cc
* 发件人
* @param subject
* 主题
* @param text
* 内容
* @param attachments
* 附件
*
*/
public static void send(String to,List<String> cc,String subject,String text,List<File> attachments){
mailPro.send(to, cc, subject, text,attachments);
} /**
*
* @param to
* @param cc
* @param subject
* @param viewpath
* @param dataMap
*/
public static void send(String to,List<String> cc ,String subject,String viewpath ,Map<String, Object> dataMap){
mailPro.send(to, cc, subject, viewpath , dataMap);
} /**
*
* @param to
* @param cc
* @param subject
* @param viewpath
* @param dataMap
* @param attachments
*/
public static void send(String to,List<String> cc ,String subject,String viewpath ,Map<String, Object> dataMap,List<File> attachments){
mailPro.send(to, cc, subject, viewpath , dataMap , attachments);
} /**
* 获取JavaMailSender
* @return
* 当前实例的JavaMailSender,用来定制化更复杂的邮件发送需求
*/
public static JavaMailSender getMailSender(){
return mailPro.getMailSender();
} }
从 MailKit 的代码中我们可以看到他的多种形式的邮件发送,只是参数的不同。
jfinal-mail-plugin配置多邮件数据源:
不同的邮件源写在不同的properties配置文件中。
然后在启动插件时指定发送源:
me.add(new MailPlugin(“mail2”,PropKit.use(“mail2.properties”).getProperties()));
最后在MailKit发送邮件时指定发送源:
MailKit.use(“mail2”).send(…);
JFinal项目发送邮件——jfinal-mail-plugin的更多相关文章
- jbolt插件创建jfinal项目
Jfina官方文档:https://www.jfinal.com/doc JFinal由Handler.Interceptor.Controller.Render.Plugin五大部分组成,且JFin ...
- JFinal 项目 在tomcat下部署
原文:http://my.oschina.net/jfinal/blog/353062 首先明确一下 JFinal 项目是标准的 java web 项目,其部署方式与普通 java web 项目没有任 ...
- 初尝 JFinal 项目(一)
temp1: JFinal项目与JAVA项目类似,有属性方法.操作方法.Sql语句操作.jdbc.配置文件 对比:|| JAVA: Bean / Srv(Server) / SqlMap / jdbc ...
- IDEA下利用Jrebel插件实现JFinal项目main方法【热加载】
IDEA下利用Jrebel插件实现JFinal项目main方法[热加载] Jrebel破解办法 https://github.com/ilanyu/ReverseProxy/releases/tag/ ...
- linux 环境下tomcat中部署jfinal项目
tomcat中部署jfinal项目 问题现象如下图 问题描述: 我在自己的windows7系统上tomcat下面跑这个项目没有任何问题吗,但是当我把项目上传到linux服务器上的tomcatwebap ...
- 投资20万研发的JFinal项目《旅游线路营销管理系统》准备公开课中
18年初上线了一套旅游营销管理系统,目前给几个合作客户内测试用,是基于JFinal研发的一套旅游行业旅游线路批发零售系统(SAAS)版. 系统终端: PC后台管理分:总部.线路批发商.旅行社门店.个人 ...
- JFinal项目eclipse出现Unknown column 'createtime' in 'order clause' 的错误
JFinal项目eclipse出现Unknown column 'createtime' in 'order clause' 的错误,在本次项目中的原因是我的表中的字段信息中创建时间的字段是creat ...
- JFinal项目eclipse出现the table mapping of model: com.gexin.model.scenic.Scenic not exists or the ActiveRecordPlugin not start.
JFinal项目eclipse出现the table mapping of model: com.gexin.model.scenic.Scenic not exists or the ActiveR ...
- jfinal项目报java.lang.ClassNotFoundException: com.jfinal.core.JFinalFilter
在eclipse中启动jfinal项目时,项目报错如下:首先:右击项目–>Build Path–>Source查看Default output folder如果是目录/WEB-INF/cl ...
随机推荐
- Hadoop 安装流程
前言:因项目中需要数据分析,因而使用hadoop集群通过离线的方式分析数据 参考着网上的分享的文章实施整合的一篇文章,实施记录 安装流程: 1.设置各个机器建的ssh 无密码登陆 2.安装JDK 3. ...
- postgresql搭建从库
postgresql搭建从库 master 10.40.196.27 slave 10.40.55.69 需求:master和slave作为主从流复制,当master宕机后,slave切换为新主 ...
- django 下拉菜单显示为object的解决办法
在创建完Django数据库结构之后,使用Django自带的强大的admin功能往数据库中添加数据,图形化界面如下: 但时候有下拉框选项(只要在model中有定义Charfield就会显示为下拉框),如 ...
- Openflow简介和安装
搞网络研究的,跟踪斯坦福stanford大学的研究就很重要. 因为思科CISCO与斯坦福的渊源太深了.被誉神雕侠侣的思科创始人Sandy Lerner夫妇,一个在计算机学院,一个在商学院. 最近去看了 ...
- ServiceFabric极简文档-0. ServiceFabric简介
前言: 最近ServiceFabric开源了,大家热情都比较高,官方文档大而全,但快速入手不容易找到头绪.发几篇极简的文档,跟大家分享一下,顺便为Ray的ServiceFabric部署做一下铺垫.因为 ...
- Git分支(1/5) -- 基本命令
把所有的变化都放在master分支并不是最好的做法. 建议的做法是把变化放在分支里面. 至少应该准备一个feature分支之类的, 把变化都隔离开来, 然后等到所有的功能都稳定之后再合并到master ...
- 针对微信的一篇推送附有的数据链接进行MapReduce统计
原推送引用:https://mp.weixin.qq.com/s/3qQqN6qzQ3a8_Au2qfZnVg 版权归原作者所有,如有侵权请及时联系本人,见谅! 原文采用Excel进行统计数据,这里采 ...
- Lucene-02:搜索初步
承接上一篇文章. package com.amazing; import java.io.File; import java.io.IOException; import org.apache.luc ...
- 【windows】 配置一个本地的tomcat服务器
配置tomcat 公司的许多业务都是用java+tomcat模式的,做本地测试的时候经常要搭建一个自己的tomcat服务器.整个操作不难,但是记录一下,万一以后遇到什么问题也可以放这里. ■ 安装ja ...
- Oracle查询优化改写--------------------范围处理
一.定位连续值的范围 二.查找同一组或分区中行之间的差