- 浏览: 145352 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (129)
- javaee struts2 (3)
- java mail (2)
- spring mail (4)
- 下拉列表 (1)
- MySQL (3)
- MyEclipse (1)
- java script (5)
- js html (4)
- oracle (7)
- eclipse ide (1)
- 正则表达式 (1)
- oracle 安装 (0)
- ExtJS 4.0 (1)
- java (5)
- linux (13)
- asterisk (25)
- asterisk AMI (1)
- java socket (1)
- sip (6)
- jsonp (1)
- mongodb (12)
- http (3)
- jQuery (2)
- java timer (2)
- OSGi (2)
- Firefox (1)
- tomcat (1)
- win7 (0)
- Highcharts (2)
- SVN (2)
- webstorm (1)
- AngularJS (1)
- 搜索引擎 (1)
- wordpress (1)
- 语音编码 (1)
- idea (1)
- dom4j (1)
- QQ (1)
- cti 呼叫中心 (3)
- 敏感词检测 (1)
- asterisk sip tls (1)
- nginx (1)
- FreeSWITCH (1)
最新评论
Spring邮件抽象层的主要包为org.springframework.mail。它包括了发送电子邮件的主要接口MailSender,和值对象SimpleMailMessage,它封装了简单邮件的属性如from, to,cc, subject,text。
包里还包含一棵以MailException为根的checked Exception继承树,它们提供了对底层邮件系统异常的高级别抽象。 要获得关于邮件异常层次的更丰富的信息,请参考Javadocs。
为了使用JavaMail中的一些特色, 比如MIME类型的信件, Spring提供了MailSender的一个子接口, 即org.springframework.mail.javamail.JavaMailSender。
Spring还提供了一个回调接口org.springframework.mail.javamail.MimeMessagePreparator, 用于准备JavaMail的MIME信件。
1.发送简单的文本邮件
001 |
package net.xftzr.mail; |
002 |
import java.util.Properties; |
003 |
|
004 |
|
005 |
import org.springframework.mail.SimpleMailMessage; |
006 |
import org.springframework.mail.javamail.JavaMailSenderImpl; |
007 |
|
008 |
|
009 |
/** |
010 |
* 本类测试简单邮件
|
011 |
* 直接用邮件发送
|
012 |
* @author Administrator
|
013 |
*
|
014 |
*/
|
015 |
public class SingleMailSend { |
016 |
public static void main(String args[]){
|
017 |
JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
|
018 |
// 设定mail server
|
019 |
senderImpl.setHost( " smtp.163.com " );
|
020 |
|
021 |
// 建立邮件消息
|
022 |
SimpleMailMessage mailMessage = new SimpleMailMessage();
|
023 |
// 设置收件人,寄件人 用数组发送多个邮件
|
024 |
// String[] array = new String[] {"sun111@163.com","sun222@sohu.com"};
|
025 |
// mailMessage.setTo(array);
|
026 |
mailMessage.setTo( " toEmail@sina.com " );
|
027 |
mailMessage.setFrom( " userName@163.com " );
|
028 |
mailMessage.setSubject( " 测试简单文本邮件发送! " );
|
029 |
mailMessage.setText( " 测试我的简单邮件发送机制!! " );
|
030 |
|
031 |
senderImpl.setUsername( " userName " ) ; // 根据自己的情况,设置username
|
032 |
senderImpl.setPassword( " password " ) ; // 根据自己的情况, 设置password
|
033 |
|
034 |
Properties prop = new Properties() ;
|
035 |
prop.put( " mail.smtp.auth " , " true " ) ; // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
|
036 |
prop.put( " mail.smtp.timeout " , " 25000 " ) ;
|
037 |
senderImpl.setJavaMailProperties(prop);
|
038 |
// 发送邮件
|
039 |
senderImpl.send(mailMessage);
|
040 |
|
041 |
System.out.println( " 邮件发送成功.. " );
|
042 |
}
|
043 |
}
|
044 |
|
045 |
|
046 |
|
047 |
|
048 |
2.发送简单的html邮件 |
049 |
org.springframework.mail.javamail.MimeMessageHelper是处理JavaMail邮件常用的顺手组件之一。它可以让你摆脱繁复的javax.mail.internetAPI类 |
050 |
package net.xftzr.mail; |
051 |
|
052 |
|
053 |
|
054 |
|
055 |
import java.util.Properties; |
056 |
|
057 |
|
058 |
import javax.mail.internet.MimeMessage; |
059 |
import org.springframework.mail.javamail.JavaMailSenderImpl; |
060 |
import org.springframework.mail.javamail.MimeMessageHelper; |
061 |
/** |
062 |
* 本类测试html邮件
|
063 |
* @author wangjianme
|
064 |
*
|
065 |
*/ |
066 |
public class HTMLMailDemo { |
067 |
/** |
068 |
* @param args |
069 |
*/ |
070 |
public static void main(String[] args) throws Exception{ |
071 |
JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
|
072 |
|
073 |
//设定mail server
|
074 |
senderImpl.setHost( "smtp.163.com" );
|
075 |
|
076 |
//建立邮件消息,发送简单邮件和html邮件的区别
|
077 |
MimeMessage mailMessage = senderImpl.createMimeMessage();
|
078 |
MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage);
|
079 |
|
080 |
//设置收件人,寄件人
|
081 |
messageHelper.setTo( "Mailto@sina.com" );
|
082 |
messageHelper.setFrom( "username@163.com" );
|
083 |
messageHelper.setSubject( "测试HTML邮件!" );
|
084 |
//true 表示启动HTML格式的邮件
|
085 |
messageHelper.setText( "<html><head></head><body><h1>hello!!spring html Mail</h1></body></html>" , true );
|
086 |
|
087 |
senderImpl.setUsername( "username" ) ; // 根据自己的情况,设置username
|
088 |
senderImpl.setPassword( "password" ) ; // 根据自己的情况, 设置password
|
089 |
Properties prop = new Properties() ;
|
090 |
prop.put( "mail.smtp.auth" , "true" ) ; // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
|
091 |
prop.put( "mail.smtp.timeout" , "25000" ) ;
|
092 |
senderImpl.setJavaMailProperties(prop);
|
093 |
//发送邮件
|
094 |
senderImpl.send(mailMessage);
|
095 |
|
096 |
System.out.println( "邮件发送成功.." );
|
097 |
} |
098 |
} |
099 |
|
100 |
|
101 |
|
102 |
|
103 |
3.发送嵌套图片的邮件 |
104 |
|
105 |
|
106 |
Email允许添加附件,也允许在multipart信件中内嵌资源。内嵌资源可能是你在信件中希望使用的图像,或者样式表,但是又不想把它们作为附件。 |
107 |
package net.xftzr.mail; |
108 |
|
109 |
|
110 |
import java.io.File; |
111 |
import java.util.Properties; |
112 |
|
113 |
|
114 |
import javax.mail.internet.MimeMessage; |
115 |
import org.springframework.core.io.FileSystemResource; |
116 |
import org.springframework.mail.javamail.JavaMailSenderImpl; |
117 |
import org.springframework.mail.javamail.MimeMessageHelper; |
118 |
/** |
119 |
* 本类测试邮件中嵌套图片
|
120 |
* @author wangjianme
|
121 |
*
|
122 |
*/ |
123 |
public class AttachedImageMail { |
124 |
public static void main(String[] args) throws Exception{ |
125 |
JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
|
126 |
|
127 |
//设定mail server
|
128 |
senderImpl.setHost( "smtp.163.com" );
|
129 |
|
130 |
|
131 |
//建立邮件消息,发送简单邮件和html邮件的区别
|
132 |
MimeMessage mailMessage = senderImpl.createMimeMessage();
|
133 |
//注意这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用,
|
134 |
//multipart模式
|
135 |
MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true );
|
136 |
|
137 |
//设置收件人,寄件人
|
138 |
messageHelper.setTo( "toMail@sina.com" );
|
139 |
messageHelper.setFrom( "username@163.com" );
|
140 |
messageHelper.setSubject( "测试邮件中嵌套图片!!" );
|
141 |
//true 表示启动HTML格式的邮件
|
142 |
messageHelper.setText( "<html><head></head><body><h1>hello!!spring image html mail</h1>" +
|
143 |
"<img src=\"cid:aaa\"/></body></html>" , true );
|
144 |
|
145 |
FileSystemResource img = new FileSystemResource( new File( "g:/123.jpg" ));
|
146 |
|
147 |
messageHelper.addInline( "aaa" ,img);
|
148 |
|
149 |
senderImpl.setUsername( "username" ) ; // 根据自己的情况,设置username
|
150 |
senderImpl.setPassword( "password" ) ; // 根据自己的情况, 设置password
|
151 |
Properties prop = new Properties() ;
|
152 |
prop.put( "mail.smtp.auth" , "true" ) ; // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
|
153 |
prop.put( "mail.smtp.timeout" , "25000" ) ;
|
154 |
senderImpl.setJavaMailProperties(prop);
|
155 |
|
156 |
//发送邮件
|
157 |
senderImpl.send(mailMessage);
|
158 |
|
159 |
System.out.println( "邮件发送成功.." );
|
160 |
} |
161 |
} |
162 |
|
163 |
|
164 |
|
165 |
|
166 |
4.发送包含附件的邮件 |
167 |
package net.xftzr.mail; |
168 |
|
169 |
|
170 |
|
171 |
|
172 |
|
173 |
|
174 |
import java.io.File; |
175 |
import java.util.Properties; |
176 |
|
177 |
|
178 |
import javax.mail.internet.MimeMessage; |
179 |
import org.springframework.core.io.FileSystemResource; |
180 |
import org.springframework.mail.javamail.JavaMailSenderImpl; |
181 |
import org.springframework.mail .javamail.MimeMessageHelper; |
182 |
public class AttachedFileMail { |
183 |
/** |
184 |
* 本类测试的是关于邮件中带有附件的例子 |
185 |
* @param args |
186 |
*/ |
187 |
public static void main(String[] args) throws Exception{ |
188 |
JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
|
189 |
|
190 |
//设定mail server
|
191 |
senderImpl.setHost( "smtp.163.com" );
|
192 |
//建立邮件消息,发送简单邮件和html邮件的区别
|
193 |
MimeMessage mailMessage = senderImpl.createMimeMessage();
|
194 |
//注意这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用,
|
195 |
//multipart模式 为true时发送附件 可以设置html格式
|
196 |
MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true , "utf-8" );
|
197 |
|
198 |
//设置收件人,寄件人
|
199 |
messageHelper.setTo( "toMail@sina.com" );
|
200 |
messageHelper.setFrom( "username@163.com" );
|
201 |
messageHelper.setSubject( "测试邮件中上传附件!!" );
|
202 |
//true 表示启动HTML格式的邮件
|
203 |
messageHelper.setText( "<html><head></head><body><h1>你好:附件中有学习资料!</h1></body></html>" , true );
|
204 |
|
205 |
FileSystemResource file = new FileSystemResource( new File( "g:/test.rar" ));
|
206 |
//这里的方法调用和插入图片是不同的。
|
207 |
messageHelper.addAttachment( "test.rar" ,file);
|
208 |
|
209 |
senderImpl.setUsername( "username" ) ; // 根据自己的情况,设置username
|
210 |
senderImpl.setPassword( "password" ) ; // 根据自己的情况, 设置password
|
211 |
Properties prop = new Properties() ;
|
212 |
prop.put( "mail.smtp.auth" , "true" ) ; // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
|
213 |
prop.put( "mail.smtp.timeout" , "25000" ) ;
|
214 |
senderImpl.setJavaMailProperties(prop);
|
215 |
//发送邮件
|
216 |
senderImpl.send(mailMessage);
|
217 |
|
218 |
System.out.println( "邮件发送成功.." );
|
219 |
} |
220 |
} /**
|
221 |
* 本类测试的是关于邮件中带有附件的例子 |
222 |
* @param args |
223 |
*/ |
224 |
public static void main(String[] args) throws Exception{ |
225 |
JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
|
226 |
|
227 |
//设定mail server
|
228 |
senderImpl.setHost( "smtp.163.com" );
|
229 |
//建立邮件消息,发送简单邮件和html邮件的区别
|
230 |
MimeMessage mailMessage = senderImpl.createMimeMessage();
|
231 |
//注意这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用,
|
232 |
//multipart模式 为true时发送附件 可以设置html格式
|
233 |
MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true , "utf-8" );
|
234 |
|
235 |
//设置收件人,寄件人
|
236 |
messageHelper.setTo( "toMail@sina.com" );
|
237 |
messageHelper.setFrom( "username@163.com" );
|
238 |
messageHelper.setSubject( "测试邮件中上传附件!!" );
|
239 |
//true 表示启动HTML格式的邮件
|
240 |
messageHelper.setText( "<html><head></head><body><h1>你好:附件中有学习资料!</h1></body></html>" , true );
|
241 |
|
242 |
FileSystemResource file = new FileSystemResource( new File( "g:/test.rar" ));
|
243 |
//这里的方法调用和插入图片是不同的。
|
244 |
messageHelper.addAttachment( "test.rar" ,file);
|
245 |
|
246 |
senderImpl.setUsername( "username" ) ; // 根据自己的情况,设置username
|
247 |
senderImpl.setPassword( "password" ) ; // 根据自己的情况, 设置password
|
248 |
Properties prop = new Properties() ;
|
249 |
prop.put( "mail.smtp.auth" , "true" ) ; // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
|
250 |
prop.put( "mail.smtp.timeout" , "25000" ) ;
|
251 |
senderImpl.setJavaMailProperties(prop);
|
252 |
//发送邮件
|
253 |
senderImpl.send(mailMessage);
|
254 |
|
255 |
System.out.println( "邮件发送成功.." );
|
256 |
} |
257 |
} |
相关推荐
Spring框架通过`org.springframework.mail`包提供了对JavaMail的支持。它抽象了JavaMail的复杂性,提供了更友好的API来发送邮件。以下是一个基本的集成步骤: 1. **配置邮件服务器**:在Spring的配置文件中,你需要...
最后,`JavaMailSender`接口和相关的邮件服务支持使得Spring成为开发中实现邮件功能的强大工具。结合源码阅读和实际应用,开发者可以更深入地理解和掌握Spring框架的邮件发送功能,提升工作效率。对于那些需要发送...
Spring还支持HTML格式的邮件和附件发送,这使得邮件内容可以更加丰富和多样化。 接下来是Spring的定时任务处理。Spring提供了一个名为`@Scheduled`的注解,可以用于标记在特定时间执行的方法。这些方法通常会放在一...
总的来说,Spring框架提供了强大的邮件发送支持,通过`JavaMailSender`接口和相关辅助类,开发者可以方便地实现各种邮件功能,无论是简单的文本邮件还是包含复杂格式和附件的邮件。在实际项目中,确保正确配置SMTP...
本项目聚焦于使用Spring Boot来开发一个支持多附件邮件发送的微服务平台。这个平台可以方便地集成到各种业务场景中,例如发送报告、通知或者用户验证邮件。 首先,我们需要了解Spring Boot的邮件服务模块——`...
Spring框架提供了一种优雅的方式来处理这个任务,它整合了JavaMailSender接口和JavaMail API,使得在Java应用程序中发送邮件变得更加简单。让我们深入探讨这个主题。 首先,JavaMail API是Java用来处理邮件收发的...
首先,我们需要在项目中引入Spring的邮件支持。这通常通过添加`spring-context-support`依赖来完成,该依赖包含了处理邮件发送所需的类。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org....
邮件发送支持以 HTML 的形式去构建我们喜欢的文本格式,Spring 对 HTML 格式的邮件也做出了支持,非常方便使用。 我们在 MailService 中添加支持 HTML 发送的方法. Spring Boot整合邮件发送并保存历史发送邮箱 和...
首先,让我们来了解如何配置Spring邮件服务。在Spring的配置文件(如`applicationContext.xml`)中,我们需要定义一个`JavaMailSender` bean。这个bean通常会包含SMTP服务器的信息,如主机名、端口号、用户名和密码...
以下是一些核心的JAR包及其在Spring邮件发送中的作用: 1. **spring-context**: 这是Spring框架的核心模块,包含环境感知、依赖注入(DI)、事件传播、AOP代理等核心功能。在邮件发送中,它提供了一个`MailSender...
首先,我们需要在项目中引入Spring的邮件支持依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.springframework <artifactId>spring-context-support <version>5.x.x....
Spring的邮件支持是通过JavaMailSender接口实现的,它允许开发者轻松地发送各种类型的邮件,包括HTML、文本或者带有附件的邮件。 在本项目中,结合Struts和Spring,我们可以按照以下步骤实现邮件发送: 1. **配置...
下面将详细阐述Spring邮件发送服务的核心概念和技术细节。 首先,我们需要配置SpringMail的相关设置。这通常通过一个XML配置文件完成,例如`springmail_config.xml`。在这个文件中,我们定义了邮件服务器的相关属性...
在IT行业中,Spring框架是Java开发中的一个核心工具,它为构建高质量的应用程序提供了全面的支持。在本项目中,我们关注的是Spring的一个特定功能——定时任务,以及如何结合这个功能来实现邮件的自动发送。这涉及到...
压缩文件名"Spring08MailSpring2"可能表示这是一个关于Spring邮件发送的系列教程的第八部分,或者可能是某个特定版本的示例代码。如果文件中包含源码,你可以期待找到一个完整的配置示例,以及如何创建和发送带附件...
在Java编程语言中,发送邮件是一项常见的任务,尤其在企业级应用中,Spring框架提供了强大的支持。本示例是关于如何使用Java调用Spring框架来实现邮件发送功能的一个实例。让我们详细探讨一下这个主题。 首先,`...
8. **邮件发送**:Spring框架提供了`JavaMailSender`接口和相关的实现类,可以方便地发送邮件,支持HTML格式、附件等,这对于发送通知或报告非常有用。 在实际开发中,Spring框架的强大功能可以极大地提高开发效率...
首先,我们需要了解Spring的邮件支持是通过`JavaMailSender`接口提供的,该接口允许我们配置邮件服务器的详细信息,并提供方法来创建和发送邮件。要使用此功能,你需要在Spring的配置文件中设置`JavaMailSender`的...