- 浏览: 410582 次
- 性别:
- 来自: 长春
-
文章分类
最新评论
-
milkyTea_:
...
学习:二维码、QR码、J4L-QRCode、java -
xunke515:
请问如何更换其他用户,注销了从新登录的时候选择么?
Hadoop启动时出现Unrecognized option: -jvm 和 Could not create the Java virtual machine -
_copythat:
学习:二维码、QR码、J4L-QRCode、java -
小fi(FD):
楼主,你好,关于你发表的《基于动态表单的Java不确定字段数报 ...
基于动态表单的Java不确定字段数报表项目实现 -
rmn190:
受用了。多谢分享!
SD2见闻--参加PPT制作秘笈沙龙
Spring整合javamail成功之后,把大量的代码配置到spring的配置文件里了,从而降低了Javamail对邮箱、端口、协议、主题、内容…… 的耦合。在客户端上只需要调用一行代码就可以发送邮件了。
首先不需要往项目的lib里导入jar,但是需要在tomcat的lib里导入3个jar文件activation.jar ,jspsmartupload.jar,mail.jar 导入这3个jar文件,这样tomcat就不会报错了。
SendManagerService .java
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->package com.cgt.itspiderman.service.email;
public interface SendManagerService {
public void sendMail(String email);
}
public interface SendManagerService {
public void sendMail(String email);
}
定义一个发送邮件的接口.
SendManagerServiceImp.java
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->package com.cgt.itspiderman.service.email;
import javax.mail.Message;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessagePreparator;
public class SendManagerServiceImp implements SendManagerService {
private JavaMailSender mailSender;
private SimpleMailMessage message;
public void sendMail(final String email) {
// TODO Auto-generated method stub
MimeMessagePreparator preparator = new MimeMessagePreparator()
{
public void prepare(MimeMessage mimeMessage) throws Exception {
mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(email));
mimeMessage.setFrom(new InternetAddress(message.getFrom()));
mimeMessage.setSubject(message.getSubject(),"gbk");
mimeMessage.setText(message.getText(),"gbk");
}
};
mailSender.send(preparator);
}
public JavaMailSender getMailSender() {
return mailSender;
}
public void setMailSender(JavaMailSender mailSender) {
this.mailSender = mailSender;
}
public SimpleMailMessage getMessage() {
return message;
}
public void setMessage(SimpleMailMessage message) {
this.message = message;
}
}
import javax.mail.Message;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessagePreparator;
public class SendManagerServiceImp implements SendManagerService {
private JavaMailSender mailSender;
private SimpleMailMessage message;
public void sendMail(final String email) {
// TODO Auto-generated method stub
MimeMessagePreparator preparator = new MimeMessagePreparator()
{
public void prepare(MimeMessage mimeMessage) throws Exception {
mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(email));
mimeMessage.setFrom(new InternetAddress(message.getFrom()));
mimeMessage.setSubject(message.getSubject(),"gbk");
mimeMessage.setText(message.getText(),"gbk");
}
};
mailSender.send(preparator);
}
public JavaMailSender getMailSender() {
return mailSender;
}
public void setMailSender(JavaMailSender mailSender) {
this.mailSender = mailSender;
}
public SimpleMailMessage getMessage() {
return message;
}
public void setMessage(SimpleMailMessage message) {
this.message = message;
}
}
发送邮件的实现类.
然后在WEB-INF下面创建一个文件messages.properties 以后修改配置信息直接在这里修改就可以了。
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->host=smtp.gmail.com
username=zhengchengqiaobusiness@gmail.com
password=xxxxxx
port=465
mail.smtp.auth=true
mail.smtp.timeout=25000
mail.smtp.starttls.enable=true
mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
mail.smtp.socketFactory.fallback=false
from=zhengchengqiaobusiness@gmail.com
subject=\u6807\u9898
text=\u5185\u5BB9\u554A
username=zhengchengqiaobusiness@gmail.com
password=xxxxxx
port=465
mail.smtp.auth=true
mail.smtp.timeout=25000
mail.smtp.starttls.enable=true
mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
mail.smtp.socketFactory.fallback=false
from=zhengchengqiaobusiness@gmail.com
subject=\u6807\u9898
text=\u5185\u5BB9\u554A
applicationContext.xml
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--> .......................
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>WEB-INF/mail.properties</value>
</list>
</property>
</bean>
<!-- gmail 发送邮箱的配置文件 -->
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host">
<value>${host}</value>
</property>
<property name="username">
<value>${username}</value>
</property>
<property name="password">
<value>${password}</value>
</property>
<property name="port">
<value>${port}</value>
</property>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
<prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
<prop key="mail.smtp.starttls.enable">${mail.smtp.starttls.enable}</prop>
<prop key="mail.smtp.socketFactory.class">${mail.smtp.socketFactory.class}</prop>
<prop key="mail.smtp.socketFactory.fallback">${mail.smtp.socketFactory.fallback}</prop>
</props>
</property>
</bean>
<bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
<property name="from">
<value>${from}</value>
</property>
<property name="subject">
<value>${subject}</value>
</property>
<property name="text">
<value>${text}</value>
</property>
</bean>
<bean id="sendmail" class="com.cgt.itspiderman.service.email.SendManagerServiceImp">
<property name="mailSender" ref="mailSender"></property>
<property name="message" ref="mailMessage"></property>
</bean>
<!-- end -->
............................
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>WEB-INF/mail.properties</value>
</list>
</property>
</bean>
<!-- gmail 发送邮箱的配置文件 -->
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host">
<value>${host}</value>
</property>
<property name="username">
<value>${username}</value>
</property>
<property name="password">
<value>${password}</value>
</property>
<property name="port">
<value>${port}</value>
</property>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
<prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
<prop key="mail.smtp.starttls.enable">${mail.smtp.starttls.enable}</prop>
<prop key="mail.smtp.socketFactory.class">${mail.smtp.socketFactory.class}</prop>
<prop key="mail.smtp.socketFactory.fallback">${mail.smtp.socketFactory.fallback}</prop>
</props>
</property>
</bean>
<bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
<property name="from">
<value>${from}</value>
</property>
<property name="subject">
<value>${subject}</value>
</property>
<property name="text">
<value>${text}</value>
</property>
</bean>
<bean id="sendmail" class="com.cgt.itspiderman.service.email.SendManagerServiceImp">
<property name="mailSender" ref="mailSender"></property>
<property name="message" ref="mailMessage"></property>
</bean>
<!-- end -->
............................
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->public static void main(String[] args) {
ApplicationContext context= null;
context = new ClassPathXmlApplicationContext("applicationContext.xml");
SendManagerService sms= (SendManagerService)context.getBean("sendmail");
sms.sendMail("zhengchengqiaobusiness@gmail.com");
}
ApplicationContext context= null;
context = new ClassPathXmlApplicationContext("applicationContext.xml");
SendManagerService sms= (SendManagerService)context.getBean("sendmail");
sms.sendMail("zhengchengqiaobusiness@gmail.com");
}
如果是在struts2里使用的话需要在Action里加上private SendManagerService sendemail;(加上get和set),然后在spring里配置这个Action的时候加上<property name="sendemail" ref="sendmail"></property>
然后在Action里调用下面这一行代码就可以发送了。
sendemail.sendMail("zhengchengqiaobusiness@gmail.com");
写到这里大家会问,如果需要动态的修改这个邮件的内容呢?方法很简单
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--> WebApplicationContext context=WebApplicationContextUtils.getRequiredWebApplicationContext(ServletActionContext.getServletContext());
((SimpleMailMessage) context.getBean("mailMessage")).setText("我现在修改了邮件的内容 呵呵呵");
((SimpleMailMessage) context.getBean("mailMessage")).setText("我现在修改了邮件的内容 呵呵呵");
发表评论
-
如何让cxf客户端简单支持ssl
2012-06-26 22:52 1065首先生成自我签名的证书,关于如何使用keytool生成证 ... -
webservice cxf 开发实战
2012-05-30 15:51 811webservice cxf 开发实战,请看附件(含源码)。 -
JMeter 使用入门
2011-10-22 14:31 881JMeter 使用入门 <!-- google ... -
Java知识拾遗:三大框架的技术起源
2011-08-02 07:06 855Struts、Hibernate和Spring是我们Ja ... -
分享高效java开发者必备的资源列表
2011-07-14 00:01 743一. Java相关工具资源 1. Eclipse 开 ... -
Office等类型文件的在线编辑
2011-05-10 23:04 135715.4 Office等类型文件的在线编辑自从WebDA ... -
学习:二维码、QR码、J4L-QRCode、java
2011-04-15 18:52 33939开源码 Java 解码器(编码解码)下载:http://s ... -
使用 jsoup 对 HTML 文档进行解析和操作
2011-04-04 21:59 614jsoup 简介 Java 程序在解析 HTML 文档时 ... -
Java通过jsoup实现网页天气数据解析
2011-04-03 10:04 1493import java.io.IOException; ... -
免费的office开发控件weboffice
2011-02-11 14:32 1654免费的office开发控件weboffice,有Java版本的 ... -
Java程序把Word文档直接转换成HTML文件
2011-02-09 09:57 1183Jacob是Java和Windows下的Com桥,通过它我们可 ... -
Tomcat总死可以试一试调一下catalina.bat的这一行
2011-01-12 08:12 909set DEBUG_OPTS=-Xms512m -Xmx102 ... -
Tomcat内存溢出的原因以及解决办法
2010-12-29 13:57 929Tomcat内存溢出的原因 在生产环境中tomcat内存设置 ... -
PHP+MYSQL的OA为何没有Java的值钱
2010-12-25 11:33 900现在市场上的oa基本上可归结为两大阵营,即php阵营和java ... -
MyEclipse 6.0.1配置Tomcat 6服务器【图解】
2010-09-03 14:48 17491 从菜单[Windows]选择[Preferences. ... -
一个Java Web搜索程序
2010-07-20 10:01 1111这是一个web搜索的基本程序,从命令行输入搜索条件(起始的UR ... -
java 查询可用域名
2010-07-20 09:48 1497这段时间在注册域名,咱起步晚,好用的域名都给别人注册了。 想 ... -
使用RSA算法进行加密和解密
2010-07-20 09:36 1744用RSA算法进行加密和解密 一、 生成公钥和私钥 ... -
用javascript与java进行RSA加密与解密
2010-07-19 08:47 1026这几天一直做安全登录,网上查了好多资料,不尽如意。 ... -
公钥加密私钥解密&私钥加密公钥解密
2010-07-16 16:20 1603公钥加密体制1、公钥加密体制用于保密性时,就是公钥加密,私钥解 ...
相关推荐
Spring框架提供了一种优雅的方式来处理这个任务,它整合了JavaMailSender接口和JavaMail API,使得在Java应用程序中发送邮件变得更加简单。让我们深入探讨这个主题。 首先,JavaMail API是Java用来处理邮件收发的...
在Spring Boot框架中,整合JavaMailSender接口可以方便地实现邮件发送功能。Spring Boot通过自动配置简化了这个过程,使得开发者无需过多关注底层配置,只需少量代码就能完成邮件的发送。下面将详细介绍如何在Spring...
在Java开发中,Spring Boot框架提供了便捷的方式来整合各种服务,包括发送邮件的功能。Spring Boot的邮件服务基于JavaMailSender接口,使得我们可以轻松地配置并发送电子邮件。本文将深入探讨如何在Spring Boot应用...
通过集成Spring Mail,开发者可以轻松地将邮件发送功能整合到他们的应用中。本篇将深入探讨如何使用Spring Mail发送邮件,以及它背后的实现原理。 首先,我们需要在项目中引入Spring Mail的依赖。通常,这可以通过...
在Spring Boot框架中,整合JavaMailSender接口可以方便地实现邮件发送功能,特别是发送模板邮件,这在企业级应用中非常常见,例如用于发送验证邮件、通知消息等。本示例将详细介绍如何在Spring Boot项目中配置并使用...
通过阅读和学习这些代码,你可以更好地理解如何在Spring Boot项目中整合JavaMail服务,实现自动化发送电子邮件的功能。这是一个实用的技能,对于企业内部通知、客户沟通或者自动化流程都有广泛的应用价值。
【标签】:“JAVA Email”指的是使用JAVA语言处理电子邮件的程序设计,这可能涉及到JavaMail API,这是一个开源库,为开发者提供了处理邮件的标准API,可以实现邮件的发送、接收和解析。邮件客户端则是用户与邮件...
本文介绍了四个与IT相关的知识点:Spring与Hibernate的整合配置、根据XML Schema生成XML文档、模拟登录并获取邮件列表以及使用POP3协议收取Gmail邮件。这些知识点涵盖了企业级应用开发中的常见场景和技术,对于深入...