package com.goujia.ges.common.helper; import java.util.concurrent.Executor; import java.util.concurrent.Executors; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import com.goujia.ges.common.util.SSLUtils; /** * 邮件发送器 * * @author xieshangzhen * @date 2015年9月28日 * @version 1.0 */ public class MailSender { private static final Logger logger = LoggerFactory .getLogger(MailSender.class); private JavaMailSender mailSender; private Executor executor = Executors.newFixedThreadPool(10); public void setMailSender(JavaMailSender mailSender) { this.mailSender = mailSender; } /** * 邮件发送同步 * @param to 接收方 * @param subject 主题 * @param content 内容 * @throws Exception */ public void sendMail(final String to, final String subject, final String content) throws Exception { //SSLUtils.ignoreSsl(); try { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true, "utf-8"); helper.setTo(to); helper.setFrom("goujia@goujiawang.com"); helper.setSubject(subject); helper.setText(content, true); mailSender.send(message); logger.info("mail already send"); } catch (MessagingException e) { logger.error("generate mail fialure"); e.printStackTrace(); } } /** * 邮件发送异步 * @param to 接收方 * @param subject 主题 * @param content 内容 */ public void sendMailAsync(final String to, final String subject, final String content) { Runnable task = new Runnable() { @Override public void run() { try { sendMail(to, subject, content); } catch (Exception e) { e.printStackTrace(); } } }; executor.execute(task); } }
<beans:bean class="com.goujia.ges.common.helper.MailSender"> <beans:property name="mailSender" ref="javaMailSender"></beans:property> </beans:bean> <beans:bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <beans:property name="host" value="smtp.qq.com" /> <beans:property name="port" value="25" /> <beans:property name="username" value="" /> <beans:property name="password" value="" /> <!-- SMTP服务器验证 --> <beans:property name="javaMailProperties"> <beans:props> <!-- 验证身份 --> <beans:prop key="mail.smtp.auth">true</beans:prop> <beans:prop key="mail.smtp.timeout">25000</beans:prop> </beans:props> </beans:property> </beans:bean>
相关推荐
当ActiveMQ与Spring整合时,可以方便地实现异步处理,比如异步发送邮件,这在大型系统中尤为常见,因为它们能够避免阻塞主线程,提升系统性能。 **ActiveMQ基础** 1. **概念理解**:ActiveMQ作为消息代理,接收并...
- **JMS支持**:Spring提供了对Java消息服务(JMS)的支持,使得异步消息处理更加容易。 #### 五、Spring框架的发展历程 自2003年发布以来,Spring框架经历了多次迭代和发展,逐渐成为Java领域最重要的开源项目之...
在Java中,可以使用Servlet或者Spring MVC等框架来处理异步请求。服务器端的Java代码接收请求,处理XML数据,然后将结果返回。XML作为数据交换格式,可以方便地被解析和生成,Java中的DOM、SAX和StaX等解析器都能很...
Java发送邮件是常见的系统集成需求,Spring框架中的JavaMailSender接口提供了一种便捷的方式来实现这一功能。本教程将详细介绍如何使用Spring MVC与JavaMailSender发送邮件,并提供两种发送方式。 首先,我们需要...
本教程将聚焦于Spring的一个实用特性——定时任务,特别是如何利用Spring集成JavaMailSender来实现定时发送邮件。我们将探讨以下知识点: 1. **Spring定时任务(Scheduled Tasks)** Spring通过`@Scheduled`注解和`...
SpringBoot集成邮件发送非常方便,只需要添加对应的Starter模块,配置好邮件服务器参数,然后调用JavaMailSender接口即可发送邮件。以下是使用QQ邮箱发送邮件的基本步骤: 1. **添加依赖**:首先,需要在项目的pom....
通过集成Spring Mail,开发者可以轻松地将邮件发送功能整合到他们的应用中。本篇将深入探讨如何使用Spring Mail发送邮件,以及它背后的实现原理。 首先,我们需要在项目中引入Spring Mail的依赖。通常,这可以通过...
本教程将带你逐步了解如何利用Tomcat、Spring和JMS(Java Message Service)构建一个简单的异步消息传递入门实例。 首先,让我们来理解一下核心组件: 1. **Tomcat**:这是一个流行的开源Java Servlet容器,用于...
- **JMS和JavaMail支持**:Spring提供了对Java消息服务(JMS)和邮件服务的接口,方便开发者处理异步通信和邮件发送。 综上,Spring 2.0不仅是一个强大的框架,也是构建现代Java应用的重要基石。它的全面性和灵活...
这个“java rabbitmq spring springAMQP 代码包 project”显然是一个综合性的项目,旨在展示如何在Java环境中集成和使用RabbitMQ消息队列服务,结合Spring框架以及Spring AMQP的高级抽象来实现。接下来,我们将详细...
**DWR(Direct Web ...**DWR集成Spring** 1. **配置DWR**:首先,我们需要在Spring配置文件中引入DWR相关的bean。这通常包括`DwrServlet`和`DWRConfig`配置,它们分别用于处理DWR请求和定义DWR的行为。 ```xml ...
当我们谈论"Spring集成Java消息服务"时,意味着我们要利用Spring框架的能力来实现基于JMS的消息传递功能。 **Spring与JMS的集成** 1. **Spring JMS模块**:Spring框架提供了一个JMS模块,使得开发者可以轻松地在...
本项目聚焦于使用Spring Boot来开发一个支持多附件邮件发送的微服务平台。这个平台可以方便地集成到各种业务场景中,例如发送报告、通知或者用户验证邮件。 首先,我们需要了解Spring Boot的邮件服务模块——`...
JMS(Java Message Service)是Java平台中用于创建、发送、接收和读取消息的标准API。它提供了一种可靠和可扩展的方式来进行异步通信,是企业级应用中常见的组件。在本示例中,"jms简单demo"涵盖了两个方面:与...
Spring Boot提供了内置的Tomcat服务器和自动配置功能,使邮件服务和定时任务的集成变得更加简单。 关于压缩包中的文件"spring_扩展_邮件及定时任务_2",它很可能包含了示例代码或者配置文件,用于演示如何在Spring...
Java邮件系统是一个基于Java Web技术构建的B/S(Browser/Server)架构的应用程序,它允许用户通过网页浏览器发送、接收和管理电子邮件。在本项目中,开发者利用了Java的强大力量,特别是对于网络通信和数据处理的...
6. 集成Spring 在Spring框架中,可以使用`LettuceConnectionFactory`创建异步Redis连接工厂,并通过`@EnableCaching`和`CacheManager`配置,将异步Redis集成到Spring的缓存管理中。 7. 源码分析 分析Lettuce的...
Java Spring Integration 是一个强大的框架,它扩展了Spring编程模型,以实现企业级应用程序之间的无缝集成。这个框架的主要目标是简化微服务、系统和服务之间的通信,遵循Enterprise Integration Patterns (EIP)这...
在Spring Boot应用中,发送...在实际应用中,可能还需要处理异常、异步发送、模板引擎集成等功能,但这些基础示例已经足够帮助理解如何在Spring Boot中使用邮件服务。记得根据实际邮件服务提供商的设置调整SMTP配置。
在Spring MVC框架中,文件上传是一项常见的功能,无论是普通的文件上传还是通过Ajax实现的异步文件上传,都为用户提供了更好的交互体验。本篇将详细讲解这两种方式的实现原理及步骤。 首先,让我们来理解一下普通...