SpringBoot使用QQ邮箱发送邮件
1.开启POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
设置 -> 账号 -> POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
获取授权码
SpringBoot依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
SpringBoot配置
spring:
application:
name: springboot-hello
mail:
host: smtp.qq.com # 配置邮件发送主机地址
port: 465 # 配置邮件发送服务端口号
protocol: smtp # 配置邮件发送服务协议
username: *********@qq.com # 配置邮件发送者用户名或者账户
password: ********** # 配置邮件发送者密码或者授权码
default-encoding: UTF-8 # 配置邮件默认编码
properties: # 配置smtp相关属性
mail:
smtp:
ssl:
enable: true
required: true
发送代码
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
@RunWith(SpringRunner.class)
@SpringBootTest
public class MailSimpleTest {
@Resource
private JavaMailSender javaMailSender;
@Test
public void sendSimpleMail() {
SimpleMailMessage message = new SimpleMailMessage();
// 配置发送者邮箱,需要和配置文件中的 spring.mail.username 保持一致
message.setFrom("*******@qq.com");
// 配置接受者邮箱
message.setTo("*******@163.com");
// 配置邮件主题
message.setSubject("主题:简单邮件");
// 配置邮件内容
message.setText("测试邮件内容");
// 发送邮件
javaMailSender.send(message);
}
}
发送结果
参考地址