1, application.yml profile
spring:
mail:
host: smtp.qq.com
username: xxx@qq.com
password: 授权码
2, specific implementation steps
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
@Service
public class SendEmailServiceImpl implements ISendEmailService {
@Value("${spring.mail.username}")
private String sendName;
@Autowired
JavaMailSender mailSender;
@Autowired
TemplateEngine engine;
@Override
public String sendEmailWithTemplate(String to, String subject, String templateName, User user) {
try {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setFrom(sendName);
helper.setTo(to);
helper.setSubject(subject);
Context context = new Context();
context.setVariable("user", user);
String content = engine.process(templateName, context);
helper.setText(content, true);
mailSender.send(mimeMessage);
return "发送成功";
} catch (MessagingException e) {
e.printStackTrace();
return "发送失败:"+ e.getMessage();
}
}
}
3, can be called directly in the controller