本篇介绍在SpringBoot中配置Email服务的具体步骤,以及常见的异常分析。
具体案例以QQ邮箱以及QQ企业邮箱为例。
QQ邮箱发送方式
QQ企业邮箱发送方式
总结
tips:
下面提到的hashIndex指的是一个元素put到hashmap中时,要根据其key.hashcode & (table.size()-1)来决定其在table中的位置。
table是一个数组,类型为Node。Node是hashmap的一个内部类,用来描述hashmap的元素的一些属性。
1.相关依赖包
org.springframework.boot
spring-boot-starter-parent
1.3.0.RELEASE
org.springframework.boot
spring-boot-starter-web
1.3.0.RELEASE
org.springframework.boot
spring-boot-starter-mail
org.springframework.boot
spring-boot-starter-velocity
SpringBoot以及mail的依赖包就不做解释了。
这里简单介绍下velocity的作用:
Velocity 是一个基于 Java 的模板引擎框架,提供的模板语言可以使用在 Java 中定义的对象和变量上。
作为邮件模板也是它的一个主要应用场景。
具体用法在下面会进行说明。
2.具体案例
1.使用QQ邮箱进行发送
application.properties
#发送邮箱(可以填你自己的邮箱)
email.from = xxxxxxx@qq.com
#目标邮箱
email.to =
#邮箱服务器
email.host = smtp.qq.com
#授权码,在QQ邮箱客户端生成
email.auth = kpzmxhrkqklwbbbd
大家可能不理解auth授权码是干什么用的。
这相当于是当以第三方形式登录时用非密码验证的一种手段。
在QQ邮箱->设置->账户 往下拉可以找到。
同时需要把POP3/SMTP服务开启。
JavaMailSender
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.j