@Autowired
private JavaMailSender javaMailSender;//spring 提供的邮件发送类
@Value("${mail.fromMail.addr}")
private String from;
public void sendEmail(String to, String subject, String content) {
SimpleMailMessage message = new SimpleMailMessage();//创建简单邮件消息
message.setFrom(from);//设置发送人
message.setTo(to);//设置收件人
/* String[] adds = {"xxx@qq.com","yyy@qq.com"}; //同时发送给多人
message.setTo(adds);*/
message.setSubject(subject);//设置主题
message.setText(content);//设置内容
try {
javaMailSender.send(message);//执行发送邮件
log.info("邮件已经发送。");
} catch (Exception e) {
log.error("发送邮件时发生异常!", e);
}
}
以上只是发送简单的文本邮件,除此之外JavaMailSender对象还支持发送多媒体邮件,比如HTML
MimeMessage message = javaMailSender.createMimeMessage();//创建一个MINE消息
MimeMessageHelper helper = new MimeMessageHelper(message, true);//true表示需要创建一个multipart message
如果需要添加附件,则:
FileSystemResource file = new FileSystemResource(new File(filePath));//创建文件系统资源
String fileName = filePath.substring(filePath.lastIndexOf(File.separator));
helper.addAttachment(fileName, file);
如果需要在邮件中嵌入图片资源,则:
String content = "<html><body>内联资源邮件发送:<img src=\'cid:" + contentId + "\' ></body></html>"; //设置内联元素
FileSystemResource res = new FileSystemResource(new File(rscPath));
helper.addInline(contentId, res) //添加内联资源