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进行邮件的发送.当进行邮件群发的话,如果一个收件人的地址错误,会导致所有邮件都发送失败.因此我们需要在邮件发送失败的时 ...
随机推荐
- Cython保护Python代码
注:.pyc也有一定的保护性,容易被反编译出源码... 项目发布时,为防止源码泄露,需要对源码进行一定的保护机制,本文使用Cython将.py文件转为.so进行保护.这一方法,虽仍能被反编译,但难度会 ...
- [asp.net]登录协同工作平台安全解决方式
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/david_520042/article/details/25372207 [摘要]公司领导说登录验证 ...
- css属性overflow:hidden在IE6、7下失效解决方案
当父元素的直接子元素或者下级子元素的样式拥有position:relative属性时,父元素的overflow:hidden属性就会失效.我们在IE 6 7内发现子元素会超出父元素设定的高度,即使父元 ...
- 洛谷P1507 NASA的食物计划
//二维费用背包 #include<bits/stdc++.h> using namespace std; ; ; ; int v1[maxn],v2[maxn],w[maxn],n,v1 ...
- uda 2.C++ 向量
向量与矩阵代数 学习得不错!你已经学习了大量 C++ 句法.你也许注意到了,使用 C++ 编程无疑比使用 Python 困难.C++ 专为快速执行而设计,使用这门语言,你可以采用许多不同方式达到同一结 ...
- Python基础:21包装
“包装”在Python 编程中经常会被提到的一个术语.意思是对一个已存在的对象进行包装,可以是对一个已存在的对象,增加,删除,或者修改功能. 可以包装任何类型(type)作为一个类(class)的核心 ...
- 源映射错误:request failed with status 404
源映射错误:request failed with status 404:源映射错误:request failed with status 404
- phpstorm 里能做git的命令行操作吗?
在VCS菜单下面有 GIT -> Branches 然后会弹出branch菜单,后面怎么操作应该不需要解释吧,所有的branch都列出来自己选 在Tools菜单下面有Open Terminal. ...
- 2018-10-19-Nuget-通过-dotnet-命令行发布
title author date CreateTime categories Nuget 通过 dotnet 命令行发布 lindexi 2018-10-19 09:15:53 +0800 2018 ...
- iptables端口映射
见上节透明代理设置 #iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.62.0/24 --dport 80 -j REDIRECT -- ...