首先导依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
在配置yml:
spring:
#邮箱配置
#平台地址,这里用的是qq邮箱,使用其他邮箱请更换
mail:
host : smtp.qq.com
#改成自己的邮箱
username:
#发送短信后它给你的授权码 填写到这里
password :
#这东西不用改
properties.mail.smtp.ssl.enable: true
##编码格式
default-encoding: UTF-8
properties.mail.smtp.auth: true
properties.mail.smtp.starttls.required: true
工具类:
@Configuration
public class MailConfig {
@Autowired
private JavaMailSender mailSender;//一定要用@Autowired
//application.properties中已配置的值
@Value("${spring.mail.username}")
private String from;
/**
* 给前端输入的邮箱,发送验证码
* @param email
* @return
*/
public boolean sendMimeMail(String email) {
try {
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setSubject("");//主题
//生成随机数
String code = randomCode();
//将随机数放置到session中
String toEmail=email+"@qq.com";
mailMessage.setText("您收到的验证码是:" + code);//内容
mailMessage.setTo(toEmail);//发给谁
mailMessage.setFrom(from);//你自己的邮箱
mailSender.send(mailMessage);//发送
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 随机生成6位数的验证码
*
* @return String code
*/
public String randomCode() {
StringBuilder str = new StringBuilder();
Random random = new Random();
for (int i = 0; i < 6; i++) {
str.append(random.nextInt(10));
}
return str.toString();
}
}
在用一个测试类进行调用。