目录
一、准备工作
1.1 依赖添加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
1.2 获取邮箱授权码
在QQ邮箱网页的,设置=>账户下 开启服务,生成授权码
二、编写代码
2.1 配置文件代码
spring:
# 邮件
mail:
username: xxxxxxx@qq.com //只修改这里就可以
password: 授权码
host: smtp.qq.com
port: 465
protocol: smtp
properties:
mail:
smtp:
ssl:
enable: true
auth: true
starttls:
enable: true
required: true
socketFactory:
port: 465
class: javax.net.ssl.SSLSocketFactory
2.2 普通邮件发送代码
@SpringBootTest
public class Boot1ApplicationTests {
@Autowired
JavaMailSender javaMailSender;
//读取yam配置设置的邮箱
@Value("${spring.mail.username}")
String username;
// 发送普通邮件
@Test
public void sendSimpleMail() {
// 构建一个邮件对象
SimpleMailMessage message = new SimpleMailMessage();
// 设置邮件主题
message.setSubject("这是一封测试邮件");
// 设置邮件发送者,这个跟application.yml中设置的要一致
message.setFrom(username);
// 设置邮件接收者,可以有多个接收者,中间用逗号隔开,以下类似
// message.setTo("1*****@qq.com","2*****qq.com");
message.setTo("xxxxxxx@qq.com");
// 设置邮件发送日期
message.setSentDate(new Date());
// 设置邮件的正文
message.setText("这是测试邮件的正文");
// 发送邮件
javaMailSender.send(message);
}
2.3 发送富文本邮件
@Test
public void sendMimeMail() throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage();
// 构建一个邮件对象
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
// 设置邮件主题
helper.setSubject("这是一封测试邮件");
// 设置邮件发送者,这个跟application.yml中设置的要一致
helper.setFrom(username);
// 收件人
String[] to = {username,"xxxxx@qq.com"};
helper.setTo(to); //这里需要接收的数组格式
// 设置邮件发送日期
helper.setSentDate(new Date());
// 设置邮件的正文 true:是html文件
helper.setText("<h1 style=\"color:red\">这是测试邮件的正文111</h1>",true);
// 发送邮件
mailSender.send(mimeMessage);
}