- 浏览: 578430 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- webservice (3)
- oracle (37)
- sqlserver (8)
- j2ee (56)
- linux (7)
- javaweb (47)
- office (1)
- struts (23)
- hibernate (11)
- spring (29)
- 网络 (2)
- tomcat (13)
- tongweb (0)
- weblogic (0)
- powerdesiginer (3)
- svn (3)
- js (20)
- ie (2)
- 编译 (3)
- css (2)
- 操作系统 (5)
- Android (41)
- jbpm4.3 (1)
- fckeditor (3)
- 操作excel (2)
- db2常用命令 (1)
- ibatis (5)
- mysql (16)
- 表达式语言 (1)
- java方式调用存储过程 (1)
- ca (1)
- linux客户端 (1)
- 电子数码 (1)
- 行业应用 (12)
- 开发工具 (4)
- 面试 (1)
- 计算机原理 (1)
- NOSQL (5)
- 虚拟机 (1)
- nginx (0)
- velocity (2)
- jndi (1)
- spring mvc (39)
- springmvc (32)
- 安全 (5)
- htmleditor (6)
- iphone4 (1)
- html (4)
- jstl (2)
- ckeditor (5)
- 连接池 (1)
- jquery (6)
- 分页 (1)
- 技术研发规则 (1)
- javamail (1)
- maven (2)
- upload (1)
- log (1)
- 测试 (10)
- spring roo (1)
- 版本控制 (2)
- find bugs (0)
- jsf (0)
- springroo (0)
- 小道理 (1)
- 小道理,技术标准 (1)
- jsf (0)
- bitbao (2)
- redmine (3)
- 团队意识 (1)
- mybatis (2)
- jquery mobile (1)
- flexpaper (0)
- json (4)
- URLRewriteFilte (1)
- html5 (1)
- 都乐保活动 (0)
- openfire (0)
- TreeMap (1)
- build (0)
- javaweb,tag (0)
- algorithm (1)
- tag (2)
- 扯淡 (0)
- mac (2)
- 叶一火(老一) (1)
- 游玩 (1)
- 编码 (1)
- 上线部署 (0)
- 研发管理 (0)
- thumbnailator (2)
- 旅游 (0)
- bingweibo (1)
- 杂谈 (4)
- ktv (1)
- weibo (1)
- 爱情 (2)
- 饮食 (1)
- MediaWiki (1)
- git (1)
- 版本库 (1)
- servlet (1)
- 感悟 (1)
- 人生 (1)
- highcharts (1)
- poi (0)
- websphere (0)
- php (1)
最新评论
-
woshixushigang:
good
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
nathanleewei:
org.springframework.jdbc.core.B ...
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
浪禾木:
请问是ckeditor\contents.css吗?改过以后 ...
ckeditor自动换行问题 -
simusuishi:
刚哥威武!
ckeditor取值赋值问题 -
a455642158:
收割完毕……
Android开源项目源码下载(不断更新中)
Spring 发送电子邮件
在学习spring之前先学习以下不用spring来实现javamail的邮件发送:
用到得jar包:
package com.css.service.email;
import java.security.Security;
import java.util.Date;
import
java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import
javax.mail.MessagingException;
import
javax.mail.PasswordAuthentication;
import javax.mail.Session;
import
javax.mail.Transport;
import javax.mail.URLName;
import
javax.mail.internet.AddressException;
import
javax.mail.internet.InternetAddress;
import
javax.mail.internet.MimeMessage;
public class JavaMailSslSender {
public static void main(String[] args) throws AddressException,
MessagingException {
// 加密邮件有提供的类Security.addProvider(new
com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY =
"javax.net.ssl.SSLSocketFactory";
// Get a Properties object
Properties
props = System.getProperties();
props.setProperty("mail.smtp.host",
"smtp.gmail.com");服务主机地址
props.setProperty("mail.smtp.socketFactory.class",
SSL_FACTORY);
props.setProperty("mail.smtp.socketFactory.fallback",
"false");
props.setProperty("mail.smtp.port",
"465");端口
props.setProperty("mail.smtp.socketFactory.port",
"465");
props.put("mail.smtp.auth", "true");是否要验证身份
//邮箱的用户名和密码
final String username = "masterspring2";
final String
password = "spring";
验证用户名和密码
Session session = Session.getDefaultInstance(props,
new
Authenticator() {
protected PasswordAuthentication
getPasswordAuthentication() {
return new
PasswordAuthentication(username, password);
}
});
Message msg
= new MimeMessage(session);
发送邮件地址
msg.setFrom(new InternetAddress(username +
"@gmail.com"));
接受邮件地址
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(
"dengjianli@126.com",
false));
msg.setSubject("Hello");
msg.setText("How are
you");
msg.setSentDate(new Date());
URLName urln = new URLName("smtps",
"smtp.gmail.com", 465, null,"masterspring2", "spring");
Transport t =
session.getTransport(urln);
t.send(msg);
System.out.println("Message sent.");
}
}
spring实现javamail:(用红色表注的请注意:需要改动的)
这里的发送邮件的服务器地址:masterspring2@gmail.com是可以接受服务的smtp协议。你也可以自己申请了一个邮箱地址。但是好像126、163邮箱的2007年11份之后申请的邮箱都不能用smtp服务。这里用的邮箱地址masterspring2@gmail.com是可以发送的。
用到jar包:
applicationContext.xml:
<?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="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property
name="locations">
<list>
<value>classpath:messages.properties</value>
</list>
</property>
</bean>
<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.debug">${mail.debug}</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>
</beans>
messages.properties:
host=smtp.gmail.com
username=masterspring2
password=spring
port=465
mail.smtp.socketFactory.port=456
mail.debug=true
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=true
#from=masterspring2@gmail.com
#subject=\u6807\u9898
#text=\u5185\u5BB9\u554A
SpringMailImpl.java:
package com.css.springmail.test;
import java.util.ArrayList;
import java.util.Date;
import
java.util.Iterator;
import java.util.List;
import
javax.activation.DataHandler;
import
javax.activation.FileDataSource;
import javax.mail.Message;
import
javax.mail.MessagingException;
import javax.mail.Multipart;
import
javax.mail.internet.InternetAddress;
import
javax.mail.internet.MimeBodyPart;
import
javax.mail.internet.MimeMessage;
import
javax.mail.internet.MimeMultipart;
import
org.springframework.context.ApplicationContext;
import
org.springframework.context.support.ClassPathXmlApplicationContext;
import
org.springframework.core.io.FileSystemResource;
import
org.springframework.mail.SimpleMailMessage;
import
org.springframework.mail.javamail.JavaMailSender;
import
org.springframework.mail.javamail.MimeMessageHelper;
import
org.springframework.mail.javamail.MimeMessagePreparator;
public class SpringMailImpl{
/** *//**
* 测试发送只有文本信息的简单测试
* @param sender
邮件发送器
* @throws Exception
*/
public void
sendTextMail(JavaMailSender sender) throws Exception {
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setTo("dengjianli@126.com");
mailMessage.setFrom("masterspring2@gmail.com");
mailMessage.setSubject("test by amigo");
mailMessage.setText("spring
Mail的简单测试123");
mailMessage.setSentDate(new Date());
sender.send(mailMessage);
System.out.println("成功发送文本文件!");
}
/** *//**
* 发送带附件的邮件
* @param sender 邮件发送器
* @throws Exception
*/
public void sendMimeMessage(final
JavaMailSender sender) throws Exception {
//附件文件集合
final
List files = new ArrayList();
MimeMessagePreparator mimeMail = new
MimeMessagePreparator() {
public void prepare(MimeMessage
mimeMessage) throws MessagingException {
mimeMessage.setRecipient(Message.RecipientType.TO,
new InternetAddress("dengjianli@126.com"));
mimeMessage.setFrom(new InternetAddress("masterspring2@gmail.com"));
mimeMessage.setSubject("Spring发送带附件的邮件", "gb2312");
Multipart mp = new MimeMultipart();
//向Multipart添加正文
MimeBodyPart content = new MimeBodyPart();
content.setText("内含spring邮件发送的例子,请查收!");
//向MimeMessage添加(Multipart代表正文)
mp.addBodyPart(content);
//
files.add("com/css/springmail/test/SpringMail.java");
files.add("e:/s.xml");
//向Multipart添加附件
Iterator it =
files.iterator();
sun.misc.BASE64Encoder enc = new
sun.misc.BASE64Encoder();
while(it.hasNext())
{
MimeBodyPart attachFile = new
MimeBodyPart();
String filename =
it.next().toString();
FileDataSource fds = new
FileDataSource(filename);
attachFile.setDataHandler(new
DataHandler(fds));
attachFile.setFileName("=?GBK?B?"+enc.encode(fds.getName().getBytes())+"?=");
mp.addBodyPart(attachFile);
}
files.clear();
//向Multipart添加MimeMessage
mimeMessage.setContent(mp);
mimeMessage.setSentDate(new
Date());
}
};
//发送带附件的邮件
sender.send(mimeMail);
System.out.println("成功发送带附件邮件!");
}
/** *//**
* 发送带附件的html邮件
* @param 邮件发送器
* @throws Exception
*/
public void
sendMimehtmlandmultiple() throws Exception {
ApplicationContext context
= new ClassPathXmlApplicationContext("applicationContext.xml");
JavaMailSender mailSender= (JavaMailSender)
context.getBean("mailSender");
MimeMessage mime =
mailSender.createMimeMessage();
MimeMessageHelper helper;
try {
helper = new
MimeMessageHelper(mime,true,"utf-8");
helper.setFrom("masterspring2@gmail.com");
helper.setTo("dengjianli@126.com");
helper.setSubject(" 测试spring Mail的附件功能");
//需要将附件显示在html中
//在标签中用cid:xx 标记,使用helper.addInline()方法添加
helper.setText("<html><body>javaeye是个好网站:<br>"+
"<a href='http://www.javaeye.com'>" +
"<img
src='cid:logo'></a></body></html>",true);
helper.addInline("logo",new FileSystemResource("e:/s.xml"));
//helper.addAttachment("javaeye.gif", new ClassPathResource("javaeye.gif"));
} catch (MessagingException e) {
// TODO
Auto-generated catch block
e.printStackTrace();
}
mailSender.send(mime);
System.out.println("成功发送带附件邮件!");
}
}
test.java:
package com.css.springmail.test;
import org.springframework.context.ApplicationContext;
import
org.springframework.context.support.ClassPathXmlApplicationContext;
import
org.springframework.mail.javamail.JavaMailSender;
public class test {
public static void main(String[] args) throws
Exception {
ApplicationContext ctx = new
ClassPathXmlApplicationContext("applicationContext.xml");
JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender");
SpringMailImpl springMail = new SpringMailImpl();
//测试发送只有文本信息的简单测试
springMail.sendTextMail(sender);
//测试发送带附件的邮件
//springMail.sendMimeMessage(sender);
//发送html和附件
//
springMail.sendMimehtmlandmultiple();
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dengjianli/archive/2009/05/13/4178564.aspx
我的163邮箱发送实例:
package onlyfun.caterpillar;
import java.util.Properties;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import
org.springframework.mail.SimpleMailMessage;
public class SimpleMailDemo {
public static void main(String[] args)
throws Exception {
JavaMailSenderImpl senderImpl = new
JavaMailSenderImpl();
//设定Mail Server
senderImpl.setHost("smtp.163.com");
senderImpl.setUsername("youyuan121");
senderImpl.setPassword("123456");
Properties pro=new
Properties();
pro.setProperty("mail.smtp.auth","true");
senderImpl.setJavaMailProperties(pro);
//建立邮件消息
SimpleMailMessage mailMessage = new SimpleMailMessage();
//设定收件人、寄件人。主题和正文
mailMessage.setTo("youyuan121@163.com");
mailMessage.setFrom("youyuan121@163.com");
mailMessage.setSubject("Test");
mailMessage.setText("This is a
test!!!");
//发送邮件
senderImpl.send(mailMessage);
System.out.println("邮件发送OK..");
}
}
发表评论
-
RESTFUL
2013-05-29 17:21 0a -
hibernate命名查询问题
2013-01-30 16:38 1322hibernate 注解 @OneToOne(fetc ... -
hibernate [Null value was assigned to a property of primitive type setter of sco
2012-12-25 19:51 1115今天开发时候 hibernate 查询报错,分析原因如下: ... -
Arrays.asList详解
2012-09-10 09:52 889Arrays.asList详解 记得以前写过一 ... -
mapper.readValue读取null
2012-08-17 19:21 2606如下代码,这样写不会走catch方法,此方法不报ioExcep ... -
string.split(",")返回的长度问题
2012-08-17 15:38 918String test = "#我的测试#&q ... -
thumbnailator 图片缩放问题
2012-08-17 19:29 2753这段代码上传1.7m图片会报错: publ ... -
模拟微博新鲜事短网址处理方式
2012-08-16 17:40 0a -
新鲜事短连接
2012-08-19 12:01 958现在需求如下: 使 ... -
jackson objectMapper.readValue 读取并存成想要的类型
2012-07-26 20:16 3716两种方式: java反射里面有个很有趣的东东,反射解析成li ... -
spring mvc responseBody 会把特殊字符转义
2012-07-26 19:53 4509框架用的spring 采用spring mvc 方式进行图片上 ... -
Out of range value for column 'bindUid' at row 1
2012-07-19 20:35 1495今天弄新浪微博绑定,数据库oauth_token表需要插入bi ... -
spring mvc 自己遇到的几个错误
2012-06-13 14:36 1202where 1=1 and t.name like '%&q ... -
Request method 'POST' not supported
2012-06-08 10:53 5208项目采用spring mvc框架实现,插入数据时候采用 ... -
beanPropertyRowMapper
2012-08-10 11:24 1084@SuppressWarnings(&quo ... -
org.codehaus.jackson.map.JsonMappingException
2012-08-17 19:30 989当一个类的所有属性都没有getter时(所有属性都是publi ... -
validApiToken
2012-08-10 11:26 977/** * 检验token的有效性 * @p ... -
split
2012-05-23 10:46 1203//String[] idArr = StringUtil ... -
spring mvc title展示的几种写法
2012-05-18 17:16 1093我记录的是工作中遇到的,容易忽视的问题,高手可以绕行了。积累也 ... -
c:import src="" jsp页面同步方式获取数据
2012-05-14 11:28 1086可以把页面分割成不同的几块,同步方式获取数据。即分别调用 ...
相关推荐
SpringMail 是一个基于 Java 的库,它允许开发者在 Spring 框架中轻松地发送电子邮件。这个库使得处理复杂的邮件任务变得简单,包括发送带有正文、附件以及多种内容类型的邮件。下面将详细介绍 SpringMail 的使用...
Spring Mail是Spring框架的一部分,它提供了一种在Java应用程序中发送电子邮件的能力。通过Spring的抽象层,我们可以方便地集成各种邮件服务提供商,如Gmail、Yahoo等,而无需直接处理复杂的JavaMail API。本篇文章...
SpringMail 是一个基于 Java 的库,它为使用 JavaMail API 发送电子邮件提供了便捷的抽象层。这个框架使得在 Spring 应用程序中集成邮件服务变得简单。本文将深入探讨 SpringMail 的核心概念、配置以及如何在实际...
在IT行业中,Spring框架是一个广泛使用的Java应用开发框架,它提供了丰富的功能,包括Spring Mail模块,用于发送电子邮件。本文将详细讲解如何利用Spring Mail发送HTML格式的邮件,以及如何发送普通文本、附件和...
标题中的“spring mail通过代理发送邮件”涉及到的是Spring框架中处理电子邮件发送的功能,尤其是在网络环境有限制或需要通过代理服务器的情况下。Spring Mail是Spring Framework的一个扩展模块,它提供了与JavaMail...
SpringMail是一个在Java应用中发送电子邮件的库,它利用了JavaMail API的简便性和灵活性。在本项目中,我们将深入探讨如何使用SpringMail发送带有附件的电子邮件。首先,我们需要了解几个核心概念: 1. **JavaMail ...
Spring Mail是一个Java库,它简化了通过JavaMail API发送电子邮件的过程。本教程将详细讲解如何利用Spring Mail通过Gmail的SSL(安全套接层)协议来发送邮件。 首先,我们需要在项目中引入Spring Mail的依赖。如果...
Spring Mail是Spring框架的一个扩展,专门用于发送电子邮件。本实例将深入探讨如何在Spring应用中集成并使用Spring Mail进行邮件发送。 首先,我们需要理解Spring Mail的核心组件`JavaMailSender`,这是一个接口,...
### Spring Mail 发送邮件实例详解 #### 一、Spring Mail 概述 Spring Mail 是 Spring 框架中用于处理电子邮件发送的一个模块。它提供了一种简单的方式来进行邮件的发送,支持多种邮件发送协议,例如 SMTP 等,...
在`springmail2`这个示例项目中,可能包含了一个简单的Spring Boot应用,演示了如何使用Spring Mail发送邮件。这个示例可能包括一个`Main`类,启动Spring Boot应用,并调用`MailService`发送一封测试邮件。代码可能...
SpringMail是Spring框架的一个扩展,它为Java应用提供了一个简单且强大的邮件发送功能。通过集成SpringMail,开发者可以轻松地在应用程序中实现电子邮件的发送,无论是普通的文本邮件、HTML格式的邮件,还是带有附件...
Spring Mail 是一个强大的Java库,用于发送电子邮件,包括带有附件的功能。在Spring框架中,它通过集成JavaMailSender接口提供了一种简洁的方式来处理邮件服务。本文将深入探讨如何使用Spring Mail发送带有附件的...
Java Mail和Spring Mail是Java开发中用于处理电子邮件的两个关键库。它们允许开发者在应用程序中实现发送、接收和处理电子邮件的功能。在这个实例中,我们主要关注如何使用Java Mail API和Spring Mail来实现实时的多...
**SpringMail 深度解析** SpringMail 是一个在 Java 应用中发送电子邮件的库,它是 Spring 框架的一个扩展,使得在基于 Spring 的应用程序中集成邮件服务变得非常简单。SpringMail 提供了一种方便的方式来配置和...
Spring Mail 是一个在Java应用程序中发送电子邮件的简单且强大的库,它是Spring框架的一部分。通过集成Spring Mail,开发者可以轻松地将邮件发送功能整合到他们的应用中。本篇将深入探讨如何使用Spring Mail发送邮件...
SpringMail 是一个基于Java的库,用于简化电子邮件的发送任务。它封装了JavaMail API,提供了更简洁的接口,使得开发者在Spring框架中发送邮件变得容易。本篇将深入探讨SpringMail的使用方法以及各种邮件的发送代码...