`
floger
  • 浏览: 213398 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在spring利用javamail,quartz定时发送邮件

阅读更多

在web开发中,我们经常需要定时完成一些功能。比如定义统计报表啊,统计用户排名等等。利用spring就可以轻松地做到这些任务。下面我就以定时发送邮件来来展示如何利用spring定时发送邮件,以及spring对JavaMail的简化。
MailService.java类

在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味package com.open.quartz;
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味
import org.springframework.mail.MailException;
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味
import org.springframework.mail.MailSender;
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味
import org.springframework.mail.SimpleMailMessage;
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味
public class MailService 在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味{
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
private MailSender mailSender;
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
private SimpleMailMessage mailMessage;//邮件模板
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
public void sendMail() 在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味{
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味          System.out.println(
"-----------发送邮件!---------");
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味          SimpleMailMessage msg
=new SimpleMailMessage(this.mailMessage);
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味          msg.setText(
"this is a test mail");
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
try 在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味{
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味              mailSender.send(msg);
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味          }
catch (MailException e) 在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味{
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味              e.printStackTrace();
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味          }

在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味          System.out.println(
"-----------发送成功!---------");
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味      }

在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味     
//省略set,get方法
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味
}

在web.xml里添加以下代码

在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味<listener>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
</listener>

在WEB-INF目录下添加applicationContext.xml文件

在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味<beans>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
<bean id="mailSender"
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味          class
="org.springframework.mail.javamail.JavaMailSenderImpl">
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="host" value="smtp.163.com"/>
            <!-- 有些邮件服务器发送邮件需要认证,所以必须提供帐号    -->
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="username" value="填入用户名"/>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="password" value="填入密码"/>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="javaMailProperties">
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味            
<props>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味                
<prop key="mail.smtp.auth">true</prop>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味            
</props>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
</property>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
</bean>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味      <!--一个邮件模板-->
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
<bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="to" value="asm_c_yuan@163.com"/>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="from" value="asm_c_yuan@163.com"/>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="subject" value="test"/>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
</bean>
        <bean id="ms" class="com.open.quartz.MailService" autowire="byName"/>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
<bean id="reportJob"
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味          class
="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="targetObject" ref="ms"/>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="targetMethod" value="sendMail"/>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
</bean>
         <!--一个简单的调度器-->
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
<bean id="simpleTrigger"
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味          class
="org.springframework.scheduling.quartz.SimpleTriggerBean">
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="jobDetail" ref="reportJob"/>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="startDelay" value="1"/>     在web启动多少毫秒后启动任务
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="repeatInterval" value="100000000"/> 表示没隔多少毫秒启动
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
</bean>
         <!--一个定时的调度器-->
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
<bean id="cronTrigger"
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味          class
="org.springframework.scheduling.quartz.CronTriggerBean">
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="jobDetail" ref="reportJob"/>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="cronExpression" value="0 0 6 * * ?"/> 指明每天早上6点启动任务,表达式的解释见下篇文章
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
</bean>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
<property name="triggers">
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味            
<list>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味                
<ref bean="simpleTrigger"/>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味            
</list>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味        
</property>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味    
</bean>
在spring利用javamail,quartz定时发送邮件转 - yanliping1107 - 糊涂味
</bean>

涉及的jar包有:spring.jar,javamail.jar,activation.jar,quartz.jar

分享到:
评论

相关推荐

    在spring利用javamail,quartz定时发送邮件

    本文将详细探讨如何在Spring环境中,利用JavaMail和Quartz库实现定时发送邮件的功能。 #### JavaMail简介 JavaMail API是一个允许Java应用程序读取和发送邮件的工具包。它提供了与不同邮件协议(如SMTP、POP3和...

    spring+quartz+javamail定时发送邮件

    本项目“spring+quartz+javamail定时发送邮件”结合了Spring框架、Quartz调度器以及JavaMail API,构建了一个能够定时发送邮件的系统。以下将详细介绍这三个关键组件及其整合方式。 首先,Spring框架是一个广泛使用...

    spring-boot使用quartz框架定时发送邮件

    在这个场景中,我们将讨论如何在Spring Boot中集成Quartz框架来实现定时发送邮件的功能,以及如何从数据库中读取数据生成报表。 首先,我们需要在Spring Boot项目中引入Quartz的相关依赖。在`pom.xml`或`build....

    mvc定时发邮件

    本项目“mvc定时发邮件”利用SpringMVC、MyBatis和Quartz框架,结合JavaMail API,实现了定时向指定邮箱发送邮件的功能。以下是对这个项目涉及的关键技术点的详细说明: 1. **SpringMVC**:SpringMVC是Spring框架的...

    如何用javamail定时发送邮件.docx

    要实现定时发送邮件,我们可以结合 JavaMail 与 Java 的定时任务框架,如 Timer 和 TimerTask,或者使用更现代的 Quartz Scheduler 或 Spring Scheduler。在这个场景中,我们将主要探讨如何使用 Java 计时器框架来...

    java spring 整合 email + quartz

    Java Spring 整合Email与Quartz是一个常见的任务,主要用于实现定时发送邮件的功能。Spring框架提供了强大的集成能力,让我们能够方便地将Quartz定时任务库与Email服务结合,从而实现自动化的工作流。 首先,我们来...

    如何用java实现邮件方式每天发送消息

    在Java编程环境中,使用Spring Boot框架来实现每天定时发送邮件是一项常见的需求。Spring Boot以其便捷的配置和强大的功能,使得创建此类应用变得简单。本文将详细介绍如何利用Spring Boot结合Spring Task(Spring的...

    定时任务设置及实现quartz

    在Java应用中,可以结合JavaMail API和Quartz实现定时发送邮件的功能。首先,配置SMTP服务器信息,然后创建一个Job类处理邮件发送逻辑。在`execute`方法内,使用JavaMail发送邮件。接着,创建一个CronTrigger或...

    使用quartz的项目实例(发送邮件和短信)

    4. **异常处理**:确保在邮件或短信发送失败时有适当的错误处理和重试机制。 5. **日志管理**:利用`shippinglog`目录下的日志记录任务执行情况,便于追踪和分析问题。 总的来说,这个项目实例展示了如何结合Quartz...

    spring技术手册demo2

    综上所述,"spring技术手册demo2"涵盖了Spring在分布式系统中的核心功能,展示了如何利用RMI实现远程服务调用,利用Quartz进行任务调度,以及通过JavaMail API发送邮件。这不仅提供了实际操作的示例,也为理解Spring...

    java发送邮件附件以及定时任务

    在Java编程中,发送邮件和添加附件是一项常见的需求,尤其在企业级应用中,用于自动化的通知、报表发送等。而结合定时任务,可以让这项功能更加强大,能够按照预设的时间周期执行。本项目围绕“Java发送邮件附件”及...

    Spring实现邮件发送功能

    在实现邮件发送功能时,需要添加相关的Maven依赖,包括spring-context-support和javax.mail。其中,spring-context-support提供了Spring框架的核心功能,而javax.mail提供了邮件发送的基本功能。 在添加依赖项后,...

    quartz-all-1.6.5.jar

    总的来说,"quartz-all-1.6.5.jar"是一个包含Quartz所有功能的集合,能够帮助开发者实现复杂的时间驱动任务,如定时发送文件。配合Spring框架和JavaMail的相关库,可以构建出稳定、可靠的自动任务执行系统。在实际...

    Quartz Spring整合——附带webservice Demo

    综上所述,这个示例不仅展示了如何在 Spring 应用中集成和使用 Quartz 定时任务,可能还包括了 Web 服务的调用、XML 处理、网络通信和邮件服务等其他功能。通过分析和学习这个示例,开发者可以加深对 Spring 整合第...

    javamail source code

    JavaMail 可以轻松地与 Spring、Quartz 等框架集成,实现定时发送邮件、事务邮件等功能。 通过深入研究这些源代码,开发者不仅可以学习如何使用 JavaMail 实现邮件功能,还能了解其内部工作原理,为开发高效、可靠...

    spring-context-support源码

    首先,`spring-context-support`的核心在于其对第三方库的集成,如Quartz定时任务、JavaMail服务、Cache抽象以及JMS(Java消息服务)等。这些功能使得Spring能够无缝地与现有的企业服务进行交互,提高了代码的复用性...

    springbootjpa

    "只是一个小小的一个娱乐demo"表明这是一个小型的、非正式的项目,主要用于展示或测试特定功能,如定时发送邮件,而不是用于大规模生产环境。 "功能良好,可以悄悄地发给小伙伴,一起快乐"意味着项目已经实现了预期...

    JAVA邮件发送系统项目

    - **定时任务**:如果需要定期发送邮件,可以结合Quartz或Spring的定时任务功能。 - **邮件验证**:在用户注册或更改重要设置时,发送验证邮件以提高安全性。 - **邮件队列**:对于大量发送的邮件,可以考虑使用...

Global site tag (gtag.js) - Google Analytics