This commit is contained in:
罗祥
2019-08-22 14:39:51 +08:00
parent 0544a18997
commit 2c989f9db3
26 changed files with 844 additions and 1643 deletions

View File

@ -1,33 +1,33 @@
# spring 邮件发送(xml配置方式)
# Spring 邮件发送(注解方式)
## 目录<br/>
<a href="#一说明">一、说明</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#11-项目结构说明">1.1 项目结构说明</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#12-依赖说明">1.2 依赖说明</a><br/>
<a href="#二spring-email">二、spring email</a><br/>
<nav>
<a href="#一项目说明">一、项目说明</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#11-项目结构">1.1 项目结构</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#12-基本依赖">1.2 基本依赖</a><br/>
<a href="#二Spring-Email">二、Spring Email</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#21-邮件发送配置">2.1 邮件发送配置</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#22-新建邮件发送基本类">2.2 新建邮件发送基本类</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#23-邮件发送的测试">2.3 邮件发送的测试</a><br/>
## 正文<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#22-发送邮件">2.2 发送邮件</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#23-单元测试">2.3 单元测试</a><br/>
</nav>
## 一、项目说明
## 一、说明
### 1.1 项目结构
### 1.1 项目结构说明
- 邮件的发送配置类为 com.heibaiying.config 下 EmailConfig
1. 邮件发送配置类为 com.heibaiying.config 下 EmailConfig.java;
2. 简单邮件发送、附件邮件发送、内嵌资源邮件发送、模板邮件发送的方法封装在 SpringMail 类中;
3. 项目以单元测试的方法进行测试,测试类为 SendEmail。
- 简单邮件发送、附件邮件发送、内嵌资源邮件发送、模板邮件发送的方法封装在 SpringMail 类中;
- 项目以单元测试的方法进行测试,测试类为 SendEmail。
<div align="center"> <img src="https://github.com/heibaiying/spring-samples-for-all/blob/master/pictures/spring-email-annotation.png"/> </div>
### 1.2 基本依赖
### 1.2 依赖说明
除了 spring 的基本依赖外,需要导入邮件发送的支持包 spring-context-support
除了 Spring 的基本依赖外,需要导入邮件发送的支持包 spring-context-support
```xml
<!--邮件发送依赖包-->
@ -47,16 +47,11 @@
## 二、spring email
## 二、Spring Email
#### 2.1 邮件发送配置
### 2.1 邮件发送配置
```java
/**
* @author : heibaiying
* @description : 邮件发送配置类
*/
@Configuration
@ComponentScan(value = "com.heibaiying.email")
public class EmailConfig {
@ -87,11 +82,10 @@ public class EmailConfig {
```
#### 2.2 新建邮件发送基本类
### 2.2 发送邮件
```java
/**
* @author : heibaiying
* @description : 邮件发送基本类
*/
@Component
@ -218,18 +212,12 @@ public class SpringMail {
System.err.println("发送邮件失败" + ex.getMessage());
}
}
}
```
**关于模板邮件的说明:**
- **关于模板邮件的说明:**
- 模板引擎最主要的作用是,在对邮件格式要求的时候,采用拼接字符串不够直观,所以采用模板引擎;
- 这里我们使用的 beetl 模板引擎,原因是其性能优异,官网是介绍其性能 6 倍与 freemaker,并有完善的文档支持。当然大家也可以换成任何其他的模板引擎freemarker,thymeleaf
一个简单的模板 template.html 如下:
通常邮件都有规范的格式要求,因此 Spring 支持使用任意模板引擎来配置模板。这里我们使用的 beetl 模板引擎,其性能比较优异,官网是介绍其性能 6 倍于 freemaker当然也可以换成其他模板引擎 如 freemarkerthymeleaf。示例如下
```html
<!doctype html>
@ -244,15 +232,9 @@ public class SpringMail {
</html>
```
#### 2.3 邮件发送的测试
### 2.3 单元测试
```java
/**
* @author : heibaiying
* @description : 发送邮件测试类
*/
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = EmailConfig.class)
public class SendEmail {
@ -296,3 +278,4 @@ public class SendEmail {
}
}
```