1.导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.编写配置文件
获取授权码的链接(QQ邮箱)
https://www.how234.com/enmyrrbjjb.html
##QQ smtp.qq.com 后面的是服务器地址
##sina(新浪) smtp.sina.cn
##aliyun(阿里云) smtp.aliyun.com
##163 smtp.163.com
spring.mail.host=smtp.qq.com
# 发送者的邮箱账号
spring.mail.username=1978636158@qq.com
# 这个是授权码 需要到邮箱自己进行获取
spring.mail.password=
spring.mail.default-encoding=UTF-8
# 发送者的账号 需要配置授权码 上面已经配置了
mail.fromMail.sender=1978636158@qq.com
3. 编写我们controller进行测试
package com.cz.testmail.controller;
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.thymeleaf.spring5.context.SpringContextUtils;
@Controller
public class Text {
@Autowired
JavaMailSender javaMailSender;
@Value("${mail.fromMail.sender}")
private String sender;
@ResponseBody
@GetMapping("/testEamil")
public String simpleEmail(){
// 这里只是做测试 账号可以自己动态获取
String subject="邮件主题";
//随机生成一个五位数
int code=(int)((Math.random()*9+1)*10000);
String text="你注册账号的验证码是"+code;
SimpleMailMessage simpleMailMessage= new SimpleMailMessage();
simpleMailMessage.setFrom(sender);
simpleMailMessage.setTo("7183690607@qq.com");
simpleMailMessage.setSubject(subject);
simpleMailMessage.setText(text);
try {
javaMailSender.send(simpleMailMessage);
return "发送成功";
}catch (Exception e){
System.out.println(e);
return "发送失败";
}
}
}