参考:https://www.cnblogs.com/happy4java/p/11205907.html
- 开启qq邮箱帐户设置中的smtp服务,并记下授权码(这个是之后配置用的密码)
- 在application.properties中引入依赖
- 注入JavaMailSender实例并发送邮件
引入依赖:
application.properties
spring.mail.host=smtp.qq.com
spring.mail.username=xxxxxx@qq.com // 开启smpt服务的qq邮箱
spring.mail.password=xxxxx // 授权码
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8
发送邮件
package com.example.demo;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MailController {
@Autowired
private JavaMailSender javaMailSender;
@RequestMapping("/getValicode")
public String getValicode(String email) throws MessagingException {
String regex = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
String code = "";
if (email.matches(regex)) { // 这里简单作了下邮箱格式校验
code = String.valueOf((int) (Math.random() * 10)) + String.valueOf((int) (Math.random() * 10))
+ String.valueOf((int) (Math.random() * 10)) + String.valueOf((int) (Math.random() * 10)); // 验证码为4个随机个位数字
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage);
messageHelper.setFrom("xxxxx@qq.com"); // 开启smtp服务的邮箱
messageHelper.setTo(email);
messageHelper.setSubject("标题");
messageHelper.setText("内容:<h3>验证码:</h3><p>" + code + "</p>", true);
javaMailSender.send(messageHelper.getMimeMessage());
} else {
System.out.println("邮箱输入格式错误");
}
return code;
}
}