- 浏览: 2833077 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (1173)
- 名言警句 (5)
- 心情随笔 (50)
- 数据库 (57)
- Java基础 (241)
- J2EE框架 (91)
- 数据结构 (12)
- 程序设计 (21)
- WEB技术 (128)
- 网络日志 (12)
- IT资讯 (247)
- linux (64)
- solaris (2)
- 其它 (143)
- WebService (4)
- 日语学习 (2)
- 机器人 (5)
- Android (5)
- cgywin (3)
- Game (1)
- DWR (1)
- spring (8)
- canvas (1)
- Guava (3)
- Modbus (5)
- 测试 (6)
- mongodb (9)
- Quartz (2)
- Cron (1)
- windows (2)
- 持续集成 (1)
- bootstrap (3)
- 结对编程 (1)
- nodejs (1)
- Netty (1)
- 安全 (3)
- webstorm (2)
- sparkline (1)
- Job (1)
- git (3)
- Maven (3)
- knockout (5)
- jquery (1)
- bower (1)
- docker (1)
- confluence (4)
- wiki (1)
- GoogleMap (1)
- jekyll (10)
- ruby (2)
- npm (3)
- browserify (1)
- gulp (3)
- openwrt (1)
- discuz (3)
- 输入法 (1)
- JPA (1)
- eclipse (2)
- IntelliJ (1)
- css (1)
- 虚拟机 (1)
- 操作系统 (1)
- azkaban (2)
- scrum (1)
最新评论
-
pangxiea_:
你好, 想请问一下 Linux下 这么使用rxtxcomm 在 ...
使用Java进行串口通信 -
abababudei:
请教一下,这个您是怎么解决的:/dev/ttyS2enteri ...
Java应用程序的MODBUS通讯 -
xuniverse:
hannibal005 写道楼主,我问下 request.se ...
用javascript与java进行RSA加密与解密 -
atxkm:
找了一下午,终于找到了
gulp 拷贝文件时如何移除文件目录结构 -
kalogen:
gtczr 写道非常感谢,经过我自己的修改,已经完美实现。发出 ...
用javascript与java进行RSA加密与解密
一 发送邮件的基类:
package com.spring.mail; import org.springframework.mail.MailSender; //import org.springframework.mail.javamail.JavaMailSender; public abstract class BaseMailSender { protected String to; protected String from; protected String subject; protected MailSender sender; //当发送的邮件为简单邮件时用MailSender即可; //protected JavaMailSender sender; //当发送的邮件为MIMI时用JavaMailSender public void setTo(String to) { this.to = to; } public void setFrom(String from) { this.from = from; } public void setSubject(String subject) { this.subject = subject; } public void setJavaMailSender (MailSender sender) {//(JavaMailSender sender) { this.sender = sender; } }
发送邮件调用的类:
package com.spring.mail; import javax.mail.MessagingException; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.mail.SimpleMailMessage; public class SimpleHtmlMailSender extends BaseMailSender{ public void sendMessage() throws MessagingException { String textStr = "Helo!!!!!!!!!!!";//发送邮件的消息主体 SimpleMailMessage msg = new SimpleMailMessage(); msg.setTo(to); msg.setFrom(from); msg.setSubject(subject); msg.setText(textStr); sender.send(msg); } public void doIt() throws Exception { ClassPathXmlApplicationContext ctx1 = new ClassPathXmlApplicationContext( new String[] { "ApplicationContext.xml" }); SimpleHtmlMailSender sender = (SimpleHtmlMailSender) ctx1.getBean("messageSender"); sender.sendMessage(); System.out.println("发送成功"); } }
配置文件ApplicationContext:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans public "-//SPRING//DTD BEAN//EN" " http://www.springframework.org/dtd/spring-beans.dtd "> <beans> <bean id="sender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host"> <value>smtp.163.com</value> </property> <property name="username"> <value>tomcat0506</value> </property> <property name="password"> <value>wes</value> </property> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">true</prop> </props> </property> </bean> <bean id="messageSender" class="com.spring.mail.SimpleHtmlMailSender"> <property name="javaMailSender"> <ref bean="sender"/> </property> <property name="to"> <value>wes830506@126.com</value> </property> <property name="from"> <value>tomcat0506@163.com</value> </property> <property name="subject"> <value>test</value> </property> </bean> <bean id="methodInvokingJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- <property name="jobClass"> <value>com.spring.mail.SimpleHtmlMailSender</value> </property>--> <property name="targetObject"><ref bean="messageSender"/></property> <property name="targetMethod"><value>doIt</value></property> </bean> <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> <property name="jobDetail"><ref bean="methodInvokingJobDetail"/></property> <property name="startDelay"> <!-- 3 seconds --> <value>3000</value> </property> <property name="repeatInterval"> <!-- repeat every 6 seconds --> <value>6000</value> </property> </bean> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="methodInvokingJobDetail"/></property> <property name="cronExpression"> <value>0 0 6,12,20 * * ?</value> </property> </bean> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref local="simpleTrigger"/> </list> </property> </bean> </beans>
二 mimi邮件发送
在编写发送邮件程序时需要用到的类有一下几个:
org.springframework.mail.javamail.JavaMailSender;
//此类继承了spring里面的
//MailSender接口--定义了两个简单的sender方法,用于发送简单的邮件信息,参数类型为:SimpleMailMessage([])
//JavaMailSender类继承了上面方法后支持MIMI邮件,可以发MIMI消息
org.springframework.context.support.ClassPathXmlApplicationContext;
//spring里面读取配置文件时需要用到的类
org.springframework.mail.javamail.MimeMessageHelper;
//在发送MIMI消息时需要用到的辅助类
javax.mail.MessagingException;
javax.mail.internet.MimeMessage;
//J2EE里面支持发送MIMe信息需要的类
例子:
发送邮件的基类
BaseMailSender .java:
import org.springframework.mail.javamail.JavaMailSender; public abstract class BaseMailSender { protected String to; protected String from; protected String subject; protected JavaMailSender sender;//当发送MIMI消息时用到的类 public void setTo(String to) { this.to = to; } public void setFrom(String from) { this.from = from; } public void setSubject(String subject) { this.subject = subject; } public void setJavaMailSender(JavaMailSender sender) { this.sender = sender; } }
发送邮件的类:
package com.spring.mail; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.MimeMessageHelper; public class SimpleHtmlMailSender extends BaseMailSender{ public void sendMessage() throws MessagingException { //String htmlHead = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\"></head><body>"; //String htmlBody = ""; //String htmlEnd = ""; // StringBuffer mailMessage = new StringBuffer(); //mailMessage.append(htmlHead); //mailMessage.append(htmlBody); //mailMessage.append(htmlEnd); //当发送的邮件为简单邮件时注销此句 String textStr = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\"></head><body><h1><a href='#'>^_^!</a></h1></body></html>"; //String textStr = "Helo could you see this email?";//发送邮件的消息主体 //SimpleMailMessage msg = new SimpleMailMessage(); //当发送邮件为简单邮件时把此句注销即可 MimeMessage msg = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(msg, true, "GB2312"); helper.setTo(to); helper.setFrom(from); helper.setSubject(subject); helper.setText(textStr, true); /* msg.setTo(to); msg.setFrom(from); msg.setSubject(subject); msg.setText(textStr); */ sender.send(msg); } public void doIt() throws Exception{//static void main(String[] args) throws Exception {// //ApplicationContext ctx = new FileSystemXmlApplicationContext(new String[] { "springexample-creditaccount.xml" }); ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext( new String[] { "ApplicationContext.xml" }); SimpleHtmlMailSender sender = (SimpleHtmlMailSender) ctx .getBean("messageSender"); sender.sendMessage(); System.out.println("发送成功"); } }配置文件同上!
评论
3 楼
sunxboy
2008-07-11
spring.jar
2 楼
huzhihua225
2008-07-11
在org.springframework中怎么找不到.mail啊! 是否要导入什么包?
1 楼
heaven_1016
2008-07-08
这个程序能运行吗? 呵呵
发表评论
-
spring mvc @controller unit test
2013-11-20 14:14 38521. spring mvc controller imple ... -
Tomcat 生产服务器性能优化
2013-07-23 06:45 987试想以下这个情景:你已经开发好了一个程序,这个程序的排版很不 ... -
Loading Multiple Spring Application Contexts with their own ClassLoader
2013-07-11 20:45 1044package de.incompleteco.spring ... -
ActiveMQ JMS的测试
2011-04-06 18:15 3893有二种方式可以测试。 1. 透过testng, 在测试类中完 ... -
Maven系列2--pom.xml 配置详解
2011-01-06 18:00 3150<project xmlns="http ... -
fisheye2.3.6 安装笔记
2010-09-16 20:25 2210一. 准备工作 1. 下载fisheye ... -
服务器端编程的十大性能问题
2010-09-15 12:01 1218今年5 月底,瑞士计算 ... -
JMX in spring 配置
2010-09-07 12:00 3023JConsole中的连接:简单的localhost:1099 ... -
Ehcache 2.0:后写式缓存和JTA支持
2010-05-22 11:13 1824开源缓存框架Ehcache 最 ... -
Twitter系统运维经验
2010-04-12 22:24 1519最近看到的另外一个 ... -
采用OSGi框架开发项目的十个问题
2010-03-21 18:08 1435近期,InfoQ针对Java模块 ... -
IBM和Eclipse加大对OSGi的支持
2010-03-21 18:05 1238为Java提供模块性的OSGi,正在受到IBM和Eclipse ... -
Castor功能与应用参考
2010-03-12 12:48 35831. 项目简介Castor是一个开源的Java项目 ... -
hibernate之 DetachedCriteria实现多表查询
2009-07-25 17:13 13064DetachedCriteria detachedCriter ... -
spring AOP 理论知识点总结
2009-07-24 17:47 21431.1 AOP 的概念 ... -
web.xml 中的listener、 filter、servlet 加载顺序及其详解
2009-07-02 16:14 4089在项目中总会遇到一些 ... -
maven笔记
2009-06-22 22:14 1498mvn package : 项目打包 mvn help:ef ... -
利用maven构建多模块项目
2009-06-17 14:28 53361. 先单独构建各模块为一个独立的项目。 jar项目: m ... -
Maven基础
2009-06-17 12:58 1831下载Maven安装文件。 定义环境变量M2_HOME到pat ... -
安装M2eclipse步骤
2009-06-15 14:45 37861.下载下列所需文件 eclipse3.4.2 ...
相关推荐
Spring整合Quartz定时发送邮件
该文档写了spring结合quartz定时发送邮件,有详细的配置文件,和相关代码,稍加研究就可以运行。
在spring利用javamail,quartz定时发送邮件
Spring框架整合Quartz,使用javamail定时发送邮件
spring-boot微服务框架,定时从数据库读取数据生成报表,并发送给boss
spring提供的定时发送邮件功能一直深受广大web开发者的喜爱,这篇文章主要介绍了Spring+quartz实现定时发送邮件功能实例,有兴趣的可以了解一下。
采用maven 搭建了一个工程,整合了spring和quartz框架,做了一个定时发送邮件的任务
网上诸如Spring Send Email 或者 Spring quartz Send Email 多不胜数,大多都只是简单介绍一下如何去实现,却没有考虑到作为一个Demo,最重要的是功能,本文通过完善的Demo介绍了一个Spring+Velocity 定时发送邮件的例子
NULL 博文链接:https://firezhfox.iteye.com/blog/1770575
主要为大家详细介绍了Spring实现邮件发送功能,简单的发送邮件工具JavaMailSender使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...
6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...
plus(快速操作Mybatis)、BeetlSQL(强大的ORM框架)、upload(本地文件上传和七牛云文件上传)、redis(缓存)、ehcache(缓存)、email(发送各种类型邮件)、task(基础定时任务)、quartz(动态管理定时任务)、xxl-job(分布式...
6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...
微信接口(身份验证,文本、图文回复等) 微信远程控制服务器重启、锁定、其它应用程序 15.java Quartz 定时器 (定时执行某程序,精确到秒,可设置周期) 16.java websocket 即时通讯技术,点对点,群聊,单聊,EXT4...
6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...
2. Spring 2.0和 2.5的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 新的bean作用域 2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件...
plus(快速操作Mybatis)、BeetlSQL(强大的ORM框架)、upload(本地文件上传和七牛云文件上传)、redis(缓存)、ehcache(缓存)、email(发送各种类型邮件)、task(基础定时任务)、quartz(动态管理定时任务)、xxl-job(分布式...
spring boot demo是一个用于深度学习并实战...强大的ORM框架)、upload( 本地文件上传和七牛云文件上传)、redis( 缓存)、ehcache( 缓存)、email( 发送各种类型邮件)、task( 基础定时任务)、quartz( 动态管理定时任务)等