1. 为邮件添加附件
//使用MimeMessageHelper发送带有附件的Email
@Autowired
private MailSender mailSender;
public void sendSpittleEmailWithAttachment(String to , Spittle spittle){
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message , true);
String spitterName = spittle.getspittle().getFullName();
helper.setFrom("noreply@xxx.com");
helper.setTo(to);
helper.setSubject("New splittle from" + spitterName);
helper.setText(spitterName + "say" + spittle.getText);
//读取附件
FileSystemResource img = new FileSystemResource("/index/logo.png");
//添加附件 1附件名称,2附件资源内容
helper.addAttachment("Coupon.png" , img);
mailSender.send(message);
}
- 发送富文本内容的Email
//发送富文本邮件
@Autowired
private MailSender mailSender;
public void sendRichEmailWithAttachment(String to , Spittle spittle){
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message , true);
String spitterName = spittle.getspittle().getFullName();
helper.setFrom("noreply@xxx.com");
helper.setTo(to);
helper.setSubject("New splittle from" + spitterName);
helper.setText("<html><head></head><body><img src='xxxx.png'><h1>发送邮件主题</h1><p>邮件内容描述</p></body></html>",true);
//读取附件
FileSystemResource img = new FileSystemResource("/index/logo.png");
//添加附件 1附件名称,2附件资源内容
helper.addAttachment("Coupon.png" , img);
mailSender.send(message);
}
使用字符串拼接来构建Email的消息的问题在于Email最终会是什么样子并不清楚。如果能够将Email的布局抽象到一个模板中,而这个模板可以由美术设计师来完成这将会是很棒的一件事。下面介绍两种模板生成Email。
3. 使用 模板Velocity 构建Email消息
...........
3. 使用 模板Thymeleaf 构建Email消息
...........
Email是人与人之间沟通的重要形式,通常也是应用与人进行沟通的一种形式。Spring基于java所提供的Email功能进行抽象,使得在Spring中配置起来更加方便。
上面我们学了使用Spring发送功能简单的Email,然后又有发送包含附件和经过HTML格式化的富文本邮件。还有重要的通过Velocity和Thymeleaf模板引擎——来生成富文本文件邮件。避免通过字符串拼接HTML。