发送邮件应该是网站必备的功能之一,在没有框架之前,我们是通过Java自带的JavaMail类来发送邮件的,后来spring推出了JavaMailSender类大大简化了发送邮件的过程,再到现在的Spring Boot又对其进行封装从而出现了 spring-boot-starter-mail。使用springboot发送邮件主要分为以下几步:
- pom.xml 配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
- application.properties 配置
这里我使用的是163邮箱发送邮件,如果使用qq邮箱,spring.mail.password这里配置的是qq邮箱的授权码,授权码如何设置?出门右转 -> 设置qq邮箱授权码
#邮件服务地址
spring.mail.host=smtp.163.com
#用户名
spring.mail.username=xxxxx@163.com
#密码(授权码)
spring.mail.password=xxxxx
#默认编码UTF-8
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
-
EmailUtils.java 发送邮件
@Resource private JavaMailSender mailSender; @Value("${spring.mail.username}") private String from; public void sendMail(String emailAddress, String content) { //创建简单邮件 SimpleMailMessage mimeMessage = new SimpleMailMessage(); //设置发件人 mimeMessage.setFrom(from); //设置接收人 mimeMessage.setTo(emailAddress); //设置标题 mimeMessage.setSubject("SpringBoot Email"); //设置邮件内容 mimeMessage.setText(content); //发送邮件 mailSender.send(mimeMessage); }
这里说的是发送简单的文本邮件,后续会说下发送含html标签和文件附件的邮件。