以前有用JavaMail写过发送html邮件,当时在benchmark自己设计了个html模板,分享记录一下。

      • 2020-12-03 更新

最近做了一个email通知功能,又优化设计了一下之前的邮件通知模板。
效果如下:
在这里插入图片描述
以上模板的html文件下载
https://gitee.com/bhy702/email-template.html

以上html邮件模板对应的html邮件发送代码可参考SpringBoot多线程异步发送Email,HTML模板渲染


      • 原文

以下模板的邮件通知演示地址:点这里 点击联系我,留言后,会接收到访客留言反馈邮件。

预览:

访客反馈端

在这里插入图片描述
以上模板的html文件下载
下载点这里
云盘密码: emailpw1


留言通知端

在这里插入图片描述
以上模板的html文件下载
下载点这里
密码: emailpw2


  • 2020-12-03 建议使用springboot+thymeleaf完成模板的变量数据填充,完善代码可参考上面最新的html邮件发送代码链接。

Java实现发送html邮件可参考博客SpringBoot使用JavaMailSender实现发送邮件功能【注意】 需要将博客中邮件发送方法sendSimpleMail改为以下sendHtmlMail方法实现即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// 发送html格式邮件
public static JsonResult sendHtmlMail(JavaMailSender javaMailSender,String email, String subject, String content) {

MimeMessage message = javaMailSender.createMimeMessage();
try {
//true表示需要创建一个multipart message
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom("xxx"+"<"+"xxxxxxx@qq.com"+">");
helper.setTo(email);
helper.setSubject(subject);
helper.setText(content, true);

javaMailSender.send(message);
} catch (MessagingException e) {
e.printStackTrace();
return JsonResult.error("哎呀~邮件服务器抽风了");
} catch (MailAuthenticationException e) {
e.printStackTrace();
return JsonResult.error("哎呀~邮件服务器抽风了");
} catch (Exception e) {
e.printStackTrace();
return JsonResult.error("邮件发送失败");
}
return JsonResult.success("邮件发送成功");
}