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进行邮件的发送.当进行邮件群发的话,如果一个收件人的地址错误,会导致所有邮件都发送失败.因此我们需要在邮件发送失败的时 ...
随机推荐
- 巨蟒python全栈开发-第11阶段 ansible3_2入门八个模块
大纲: 1.file模块 2.fetch模块 3.yum&&pip模块 4.service模块 5.cron模块 6.user模块 7.group模块
- 开发者说:Sentinel 流控功能在 SpringMVC/SpringBoot 上的实践
从用户的视角来感受一个开源项目的成长,是我们推出「开发者说」专栏的初衷,即在开发者进行开源项目选型时,提供更为立体的项目信息.专栏所有内容均来自作者原创/投稿,本文是「开发者说」的第6篇,作者 Jas ...
- @atcoder - AGC040C@ Neither AB nor BA
目录 @description@ @solution@ @accepted code@ @detail@ @description@ 给定偶数 N,求由 'A', 'B', 'C' 三种字符组成的字符 ...
- CF986F Oppa Funcan Style Remastered
CF986F Oppa Funcan Style Remastered 不错的图论转化题! 题目首先转化成:能否用若干个k的非1因数的和=n 其次,因数太多,由于只是可行性,不妨直接都用质因子来填充! ...
- python2和python3一些不同
文件写法: #python2fp=file(filepath,'wb')#python3# fp = open(filepath, 'wb') 关于乱码问题: #python2 #coding=utf ...
- iptables 伪装(Masquerading)
「偽装」是一种特殊的SNAT操作:将来自其它电脑的包的来源位址改成自己的位址:请注意,由於入替的来源位址是自动決定的(执行SNAT的主机的IP位址).所以,如果它改变了,仍在持续中的旧连線将会失效.「 ...
- 第三期 行为规划——11.在C ++中实现第二个成本函数
在大多数情况下,单一成本函数不足以产生复杂的车辆行为.在这个测验中,我们希望您在C ++中实现更多的成本函数.我们稍后会在本课中使用这两个C ++成本函数.这个测验的目标是创建一个成本函数,使车辆在最 ...
- Codeforces Round #577 (Div 2)
A. Important Exam 水题 #include<iostream> #include<string.h> #include<algorithm> #in ...
- H3C 局域网与OSI参考模型
- 学习PHP好,还是Python好呢?
首先简单介绍一下Python. Python在出现以来,已经有数以千计基于这项技术的网站和软件项目,Python因其独有的特点从众多开发语言中脱颖而出,深受世界各地的开发者喜爱. 下面,我们列举了Py ...