一、倒入相关依赖
org.springframework.boot spring-boot-starter-mail
二、properties中添加配置
spring.mail.default-encoding=UTF-8 #服务器地址 spring.mail.host=smtp.qq.com #发送方邮箱 spring.mail.username=1768916170@qq.com #授权码,不是邮箱密码 spring.mail.password=xxxxxxxxx
三、发送邮件util类编写
@Resource
private JavaMailSender javaMailSender;
@Value("${spring.mail.username}")
private String mailAddress;
public void sendMail(List list, String appName, String sendMail) {
for (String mail : list) {
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
try {
// 使用MimeMessageHelper设置邮件信息
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
//发件人
helper.setFrom(mailAddress);
//收件人
helper.setTo(mail);
//抄送人
// helper.setCc(mailAddress);
//邮件标题
helper.setSubject("审批邮件");
Configuration configuration = new Configuration(Configuration.VERSION_2_3_0);
ClassLoader classLoader = XBootstrap.class.getClassLoader();
configuration.setClassLoaderForTemplateLoading(classLoader, "templates");
Template template = configuration.getTemplate("email.html");
//利用反射构建通用Map
Map map = new HashMap<>();
map.put("name", mail);
map.put("email", sendMail);
map.put("projectName", "xxx的应用");
map.put("url", "www.baidu.com");
map.put("appName", appName);
//模版渲染,渲染的结果被保存到out中,将out中的html字符串输出即可
StringWriter out = new StringWriter();
template.process(map, out);
helper.setText(out.toString(), true);
javaMailSender.send(mimeMessage);
} catch (Exception e) {
throw new BusinessException(ReturnCodeEnum.SEND_MAIL_ERROR, "发送邮件失败!" + e.getMessage());
}
}
}
四、html邮件模版
Title
p {text-indent:3em;}
标题:应用升级发布审核
内容:Dear ${name}
您好:有一个应用升级发布需要您的审核,请点击链接进行审核。
发起者:${email}
项目名称:${projectName}
应用名称:${appName}
${url}
请尽快审核,谢谢!
(系统发送,请勿直接回复)
五、发送成功邮件示例



