授权码
首先我们需要获取授权码,用于后续配置,登录邮箱: https://mail.163.com/
点击顶端设置,之后选择 POP3/SMTP/IMAP 选项
POP3/SMTP 服务已开启 – 开启该服务,开启是需要验证手机号发送验证码。
验证完成会返回授权码,该授权码只显示一次,记得保存,否则需要重新发送验证码获取新的授权码
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
配置文件
spring:
mail:
default-encoding: UTF-8
host: smtp.163.com # 网站发送邮件邮箱服务 host port: 465
username: xxx@163.com # 邮箱
password: ONSWXXXXXXXX # 授权码
protocol: smtp
properties:
mail:
smtp:
auth: 'true'
socketFactory:
class: com.rymcu.forest.util.MailSSLSocketFactory
# class: javax.net.ssl.SSLSocketFactory
port: 465
ssl:
enable: true
starttls:
enable: true
stattls:
required: true
connectiontimeout: 5000
timeout: 3000
writetimeout: 5000
相关参数介绍
default-encoding
: 默认编码格式,这里设置为 UTF-8。
host: SMTP
服务器的地址,这里是163邮箱的SMTP服务器地址。
port: SMTP
服务器的端口,163邮箱的SMTP端口是465。
username
: 163邮箱账号。
password:
我们上面得到的授权码。
protocol
: 使用的协议,这里是SMTP协议。
properties
: 额外的属性设置。
mail:
邮件相关的属性。
smtp:
SMTP相关的属性。
auth
: 是否需要认证,这里设置为true,表示需要认证。
socketFactory
: Socket工厂相关设置。
class
: Socket工厂类,表示使用SSL加密。
port:
Socket工厂使用的端口,这里也是465。
ssl
: SSL相关设置。
enable
: 是否启用SSL,这里设置为true,表示启用SSL加密。
starttls
: STARTTLS相关设置。
enable
: 是否启用STARTTLS,这里设置为true,表示启用STARTTLS。
stattls
: STARTTLS相关设置。
required
: 是否要求STARTTLS,这里设置为true,表示要求STARTTLS。
connectiontimeout
: 连接超时时间,单位为毫秒,这里设置为5000毫秒(5秒)。
timeout
: 操作超时时间,单位为毫秒,这里设置为3000毫秒(3秒)。
writetimeout
: 写超时时间,单位为毫秒,这里设置为5000毫秒(5秒)。
更多详细信息可以查看 Spring 官方文档:
MailProperties
源码:https://gitcode.com/gh_mirrors/sp/spring-boot/blob/v2.0.3.RELEASE/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mail/MailProperties.java?utm_source=csdn_github_accelerator&isLogin=1