1.首先引入pom依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.修改application.yml配置文件:
spring:
mail:
host: smtp.163.com #SMTP服务器地址
username: demo #登陆账号
password: 123456 #登陆密码(或授权码)
properties:
from: 真实邮箱@163.com #邮件发信人(即真实邮箱)
thymeleaf:
cache: false
prefix: classpath:/views/
servlet:
multipart:
max-file-size: 10MB #限制单个文件大小
max-request-size: 50MB #限制请求总量
3.建立一个邮寄实体类,方便发件人、收件人、主题、内容等信息的填写。
@Data
public class MailVo {
private String id;//邮件id
private String from;//邮件发送人
private String to;//邮件接收人(多个邮箱则用逗号","隔开)
private String subject;//邮件主题
private String content;//邮件内容
private Date sentDate;//发送时间
private String cc;//抄送(多个邮箱则用逗号","隔开)
private String bcc;//密送(多个邮箱则用逗号","隔开)
private String status;//状态
private String error;//报错信息
@JsonIgnore
private MultipartFile[] multipartFiles;//邮件附件
}
4.建立邮件服务类:
这里使用JavaMailSender实现邮件服务:
JavaMailSender
和JavaMailSenderImpl
是Spring官方提供的集成邮件服务的接口和实现类,以简单高效的设计著称,目前是Java后端发送邮件和集成邮件服务的主流工具。
如何通过JavaMailSenderImpl
发送邮件?
非常简单,直接在业务类注入JavaMailSenderImpl
并调用send
方法发送邮件。其中简单邮件可以通过SimpleMailMessage
来发送邮件,而复杂的邮件(例如添加附件)可以借助MimeMessageHelper
来构建MimeMessage
发送邮件。例如:
例:
@Autowired
private JavaMailSenderImpl mailSender;
public void sendMail() throws MessagingException {