Spring||Mails
JMail可以解决Java发送邮件,通过Jmail的核心javax.mail.jar实现,通过Jmail发送邮件需要经过以下步骤
1.创建解析邮件内容:Message类,通过javax.mail.internet.MimeMessage来构造复杂的信息
2.使用Transpot类发送邮件,实现了SMTP的SMTPSTranspot,
3.接收邮件,通过store类来接收邮件,他的实例对象代表了某个接收协议的邮件对象
public class Mail{
public void send(){
//利用Properties封装对象信息并提供服务器信息
Properties prop = System.getProperties();
//主机名
prop.put("mail.smtp.host",mailServer);
//是否身份验证
prop.put("mail.smtp.auth","true");
//创建验证器
EmailAuthenticator mailauth = new RmailAuthenticator(username,password);
//获取Session对象
SessionmailSession= Session.getInstance(prop,(Authenticator)mailauth);
//封装Message 对象
try{
Message message = new MimeMessage(mailSession);
//设置发件人
message.setFrom(new InternetAddress(from));
//设置收件人,分为TO(主送地址)CC(抄送地址)BCC(秘密抄送)
message.setRecipent(Message.RecipientType.TO,new InternetAddress(to));
//设置主题
message.setSubject(mailSubject);
//设置内容,声明utf-8编码格式防止乱码
message.setContent(mailContent,"text/html;charset=utf-8");
//设置日期
message.setSentDate(new Date());
//创建Transpot实例
Transpot tran = mailSession.getTranspot("smtp");
//发送
tran.send(message,message.geetAllRecipients());
//close
tran.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
Spring Mail
在Spring环境下需要在org.springframework.mail包里使用MailMessage和MailSender
MailMessage接口的方法
void setFrom(String from) : 设置发送地址
void setTo(String to): 设置一个主送地址,如果设置多个地址,利用setTo(String[]to)
void setReplyTo(String replyTo) :设置回复地址
void setCc(String cc):设置抄送地址
MailSender接口主要方法
void Send(SimpleMailMessage simpleMessage) 发送简单信息邮件
void send(SimpleMailMessage[] simpleMessage) 一次性发送邮件
JavaMailSender
MimeMessage createMimeMessage() 为Sender相关的JavaMail Session创建一个MimeMessage对象
MimeMessage createMimeMessage(InputStream content) 使用给定的输入流作为信息来源,为Sender相关的JavaMail Session
void send(MimeMessage mimeMessage) 发送MIME邮件
Spring||Mails的更多相关文章
- Spring系列之依赖注入的方式
一.依赖注入方式 对于spring配置一个bean时,如果需要给该bean提供一些初始化参数,则需要通过依赖注入方式,所谓的依赖注入就是通过spring将bean所需要的一些参数传递到bean实例对象 ...
- Spring学习进阶(二)Spring IoC
在使用Spring所提供的各种丰富而神奇的功能之前,必须在Spring IoC容器中装配好Bean,并建立Bean与Bean之间的关联关系.控制反转(Inverser of Control ioc)是 ...
- Spring常用的接口和类(二)
七.BeanPostProcessor接口 当需要对受管bean进行预处理时,可以新建一个实现BeanPostProcessor接口的类,并将该类配置到Spring容器中. 实现BeanPostPro ...
- (spring-第3回【IoC基础篇】)spring的依赖注入-属性、构造函数、工厂方法等的注入(基于XML)
Spring要把xml配置中bean的属性实例化为具体的bean,"依赖注入"是关卡.所谓的"依赖注入",就是把应用程序对bean的属性依赖都注入到spring ...
- spring中Bean的注入参数详解
字面值 一般指可用字符串表示的值,这些值可以通过<value>元素标签进行注入.在默认情况下,基本数据类型及其封装类.String等类型都可以采取字面值注入的方式,Spring容器在 ...
- Spring基础学习(二)—详解Bean(上)
在Spring配置文件中,用户不但可以将String.int等字面值注入Bean中,还可以将集合.Map等类型注入Bean中,此外还可以注入配置文件中其他定义的Bean. 一.字面值 ...
- Spring常用接口和类
一.ApplicationContextAware接口 当一个类需要获取ApplicationContext实例时,可以让该类实现ApplicationContextAware接口.代码展示如下: p ...
- Spring 学习笔记 ----依赖注入
依赖注入 有三种方式,本文只学习下属性注入. 属性注入 属性注入即通过 setXxx方法()注入Bean的属性值或依赖对象,由于属性注入方式具有可选择性和灵活性高的优点,因此属性注入方式是 ...
- 解决spring boot JavaMailSender部分收件人错误导致发送失败的问题
使用spring boot通常使用spring-boot-starter-mail进行邮件的发送.当进行邮件群发的话,如果一个收件人的地址错误,会导致所有邮件都发送失败.因此我们需要在邮件发送失败的时 ...
随机推荐
- C++四:继承与派生
C++四:继承与派生 一.概念 继承就是从先辈处得到属性和行为特性.类的继承,是指新的类从已有类的那里得到的特性.类的派生,就是指已有类产生新类的过程. 二.应用 定义为 class 派生类名: ...
- python-selenium自动化测试(火狐、谷歌、360浏览器启动)
一.打开谷歌浏览器 import selenium from selenium import webdriver browser = webdriver.Chrome(executable_path ...
- oralce ROLLUP
select id,area,stu_type,sum(score) score from students group by rollup(id,area,stu_type) order by id ...
- 当better-scroll遇见了react擦出的火花
关于better-scroll这个插件前面已经介绍过两次了 从原生js使用到结合服务端发送数据使用都有过介绍 今天给大家分享一下这款插件在react中遇见的坑 总之我真是对这款插件又爱又恨 每次各种 ...
- Spring IoC 使用详解
在Spring中,依赖注入(DI)模式实现了控制反转(IoC)原理.让我们通过一个例子来帮助理解依赖注入.我们先看到java版的例子,然后在此基础上加上spring的功能.就例子而言,是相当地简单.Q ...
- oracle函数 round(d1[,c1])
[功能]:给出日期d1按期间(参数c1)四舍五入后的期间的第一天日期(与数值四舍五入意思相近) [参数]:d1日期型,c1为字符型(参数),c1默认为j(即最近0点日期) [参数表]:c1对应的参数表 ...
- Libev源码分析07:Linux下的eventfd简介
#include <sys/eventfd.h> int eventfd(unsigned int initval, int flags); eventfd创建一个eventfd对象,该对 ...
- POJ2186 Popular Cows 题解 强连通分量入门题
题目链接:http://poj.org/problem?id=2186 题目大意: 每头牛都想成为牛群中的红人. 给定N头牛的牛群和M个有序对(A, B),(A, B)表示牛A认为牛B是红人: 该关系 ...
- 使用 Laravel-Excel 进行 CSV/EXCEL 文件读写
https://blog.csdn.net/yiluohan0307/article/details/80229978 http://www.ptbird.cn/laravel-excel-csv.h ...
- Redis正确使用的十个技巧
http://www.jb51.net/article/73376.htm Redis 在当前的技术社区里是非常热门的.从来自 Antirez 一个小小的个人项目到成为内存数据存储行业的标准,Redi ...