3、SpringBoot------邮件发送(1)


开发工具:STS
代码下载链接:https://github.com/theIndoorTrain/Springboot/tree/8878e8e89ce01ceb967ef8c1193ac740a6f7dd40
前言:
每当你生日那天,腾讯官方都会给你致上一封精美的生日祝福邮件......
当你在某个网站注册账号时,往往需要去邮箱里激活验证......
我们今天就来探讨这个技术,邮件的发送。
我们往常发邮件的步骤为:
1.登录邮箱网站或者客户端
2.输入账号、密码
3.填写收件人
4.撰写邮件内容
5.发送
在我们的web项目中,我们要发送邮件给指定用户,步骤为:
1.绑定邮箱服务器
2.验证账号、密码(授权码)
3.建立邮件
4.填写接收者、邮件内容
5.发送
下面我们来实现邮件的发送。
一、简单邮件的发送
1.在pom.xml中添加mail依赖
<!--添加mail依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.在application中配置mail
#配置邮箱
spring:
mail:
host: smtp.qq.com
username: 1373572467@qq.com
password: 邮箱密码(qq邮箱填写授权码)
default-encoding: UTF-8 #配置邮件发送人
mail:
from:
addr: 1373572467@qq.com
3.定义邮件发送业务接口:
package com.xm.service; /**
* 邮件发送业务
* @author xm
*
*/
public interface EmailService { /**
* 发送简单邮件
* @param to :收件人
* @param subject : 标题
* @param content :邮件内容
*/
void sendSimpleEmail(String to,String subject,String content); }
4.实现邮件发送业务:
package com.xm.service.impl; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service; import com.xm.service.EmailService;
/**
* 邮件发送业务实现
* @author xm
*
*/
@Service
public class EmailServiceImpl implements EmailService { //获取发送者信息
@Value("${mail.from.addr}")
private String from; //定义邮件发送者
@Autowired
private JavaMailSender sender; @Override
public void sendSimpleEmail(String to, String subject,String content) {
//定义简单邮件
SimpleMailMessage message = new SimpleMailMessage();
//把发送者、收件人、标题、邮件内容封装入简单邮件中
System.out.println("from: "+from+",to:"+to+",subject:"+subject);
message.setFrom(from);
message.setTo(to);
message.setSubject(subject);
message.setText(content);
//交给邮件发送者进行转发
sender.send(message);
System.out.println("发送");
} }
5.定义邮件测试类:
package com.xm; import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; import com.xm.service.EmailService; @RunWith(SpringRunner.class)
@SpringBootTest
public class EmailTest { @Autowired
private EmailService emailService; @Test
/**
* 测试简单邮件的发送
*/
public void sendSimpleMassage() {
emailService.sendSimpleEmail("1373572467@qq.com", "122", "Hello Mail!");
} }
6.运行结果截图:

二、带附件的邮件发送
1.定义发送带附件的邮件接口:
/**
* 发送带附件的邮件
* @param to:收件人
* @param subject : 标题
* @param content:邮件内容
* @param attachment:附件
*/
void sendAttachmentEmail(String to,String subject,String content,File attachment);
2.实现此业务:
@Override
public void sendAttachmentEmail(String to, String subject, String content, File attachment) {
//创建多用途互联网邮件
MimeMessage message = sender.createMimeMessage(); try {
//封装多用途互联网邮件
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(content);
helper.addAttachment("附件", attachment);
} catch (Exception e) {
e.printStackTrace();
}
sender.send(message);
}
3.定义测试:
@Test
/**
* 多用途互联网邮件
*/
public void sendAttachmentEmail() {
File attachment = new File("src/main/resources/static/1.txt");
emailService.sendAttachmentEmail("1373572467@qq.com", "122", "Hello Mail!",attachment);
}
4.运行结果截图:

2018-07-16
3、SpringBoot------邮件发送(1)的更多相关文章
- SpringBoot邮件发送
这篇文章介绍springboot的邮件发送. 由于很简单就没有分出server和imp之类,只是在controller简单写个方法进行测试. 首先pom文件加入spring-boot-starter- ...
- Springboot邮件发送思路分析
毕业设计里需要邮件发送,所以学习,总的来讲,我考虑以下几点, 代码量少,代码简单.配置少,一看就懂,使用 JavaMail 太麻烦了. 异步执行,添加员工之后会发送入职邮件, 多线程处理,设计里有一个 ...
- springboot邮件发送与接收读取
发送邮件 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...
- SpringBoot邮件发送功能
快速入门 在Spring Boot的工程中的pom.xml中引入spring-boot-starter-mail依赖: <dependency> <groupId>org.sp ...
- SpringBoot项目实现文件上传和邮件发送
前言 本篇文章主要介绍的是SpringBoot项目实现文件上传和邮件发送的功能. SpringBoot 文件上传 说明:如果想直接获取工程那么可以直接跳到底部,通过链接下载工程代码. 开发准备 环境要 ...
- 补习系列(12)-springboot 与邮件发送
目录 一.邮件协议 关于数据传输 二.SpringBoot 与邮件 A. 添加依赖 B. 配置文件 C. 发送文本邮件 D.发送附件 E. 发送Html邮件 三.CID与图片 参考文档 一.邮件协议 ...
- springboot添加邮件发送及压缩功能
springboot添加邮件发送及文件压缩功能 转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9190233.html 先来一段诗 ``` 就这样吧 忍受折磨 ...
- IntelliJ IDEA 2017版 spring-boot 2.0.5 邮件发送简单实例 (三)
一.搭建SpringBoot项目 详见此文:https://www.cnblogs.com/liuyangfirst/p/8298588.html 注意: 需要添加mail依赖的包,同时还添加了lom ...
- IntelliJ IDEA 2017版 spring-boot 2.0.3 邮件发送搭建,概念梳理 (二)
第二部分 邮件发送历史 一.第一封邮件 1.1969年10月,世界上的第一封电子邮件 1969年10月世界上的第一封电子邮件是由计算机科学家Leonard K.教授发给他的同事的一条简短 ...
- springboot利用mail配置包,实现邮件发送
了解邮件发送与接收的过程: A->S1->S2->B 1.计算机A通过SMTP协议将邮件发送到服务器S1上: 2.服务器S1再发送到服务器S2: 3.计算机B通过POP3协议接收服务 ...
随机推荐
- Jenkins+Ant+Jmeter接口自动化集成测试
一.Jmeter+ant 1.首先我们默认Jmeter脚本已经录制好了,并测试通过,存在(查询模块.jmx)脚本 2.将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.j ...
- git跟svn 服务端对比
Git已经火了很久,简单的使用也没有问题,但有几个问题一直以来都没有搞清楚:git跟svn有哪些异同,两者相互的优劣是什么,git的分布式怎么理解,为什么有离线提交,,,自己动手,分别看一下服务端跟客 ...
- POJ 3189——Steady Cow Assignment——————【多重匹配、二分枚举区间长度】
Steady Cow Assignment Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I ...
- [转]asp.net core视图组件(ViewComponent)简单使用
本文转自:http://www.cnblogs.com/dralee/p/6170496.html 一.组成: 一个视图组件包括两个部分,派生自ViewComponent的类及其返回结果.类似控制器. ...
- hql基础入门
[转]进入HQL世界 一个ORM框架是建立在面向对象的基础上的.最好的例子是Hibernate如何提供类SQL查询.虽然HQL的语法类似于SQL,但实际上它的查询目标是对象.HQL拥有面向对象语言的所 ...
- Annotation(注解)的概念、作用及常用注解
Annotation的概念: 能够添加到 Java 源代码的语法元数据.类.方法.变量.参数.包都可以被注解,可用来将信息元数据与程序元素进行关联.Annotation 中文常译为“注解”. 从JDK ...
- 一本通 1260:【例9.4】拦截导弹(Noip1999)
拦截导弹(Noip1999) 经典dp题目,这个做法并非最优解,详细参考洛谷导弹拦截,想想200分的做法. #include <iostream> #include <cstdio& ...
- QtWebkits如何向QtWebEngine过渡
QtWebkits如何向QtWebEngine过渡 1. 前言 很遗憾,QtWebkits在Qt5.6以上版本被淘汰了,对于这个接口良且和其他类例如QWebFrame完美结合的组件就这么没了,我只能表 ...
- appium(四)交互分析
转自:http://blog.csdn.net/Yejianyun1/article/details/56017360 一.简介 英文官网:appium官网 Appium跨平台.开源的自动化测试工具, ...
- Struts_OGNL(Object Graph Navigation Language) 对象图导航语言
1.访问值栈中的action的普通属性: 请求: <a href="ognl.action?username=u&password=p">访问属性</a& ...