在项目需要发送邮件,普通内容的邮件觉得太单调、太丑,没逼格,所以说直接把用到的邮件内容做成一个html模板,发送之前将对应参数替换掉,发送html内容的高逼格邮件。
首先需要引用jar包,这就不多说了,直接贴代码:
1.发送邮件处理
1 String host = "";
2 String mailFrom = "";
3 String mailPass = "";
4 Properties props=new Properties();
5 props.put("mail.smtp.host",host);
6 props.put("mail.smtp.auth", "true");
7 Session s=Session.getInstance(props);
8 MimeMessage message=new MimeMessage(s);
10 // 给消息对象设置发件人/收件人/主题/发信时间
11 try{
12 InternetAddress from=new InternetAddress(mailFrom);
13 message.setFrom(from);
14 InternetAddress to=new InternetAddress(mailto);
15 message.setRecipient(Message.RecipientType.TO,to);
16 message.setSubject(title);
17 message.setSentDate(new Date());
19 //给消息对象设置内容
20 BodyPart mdp=new MimeBodyPart();//新建一个存放信件内容的BodyPart对象
21 mdp.setContent(htmlContent,"text/html;charset=UTF-8");//给BodyPart对象设置内容和格式/编码方式
22 Multipart mm=new MimeMultipart();//新建一个MimeMultipart对象用来存放BodyPart对象(事实上可以存放多个)
23 mm.addBodyPart(mdp);//将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)
24 message.setContent(mm);//把mm作为消息对象的内容
25 message.saveChanges();
26 Transport transport=s.getTransport("smtp");
27 transport.connect(host,mailFrom,mailPass);
28 transport.sendMessage(message,message.getAllRecipients());
29 transport.close();
30 return true;
31 }
32 catch (Exception e) {
33 e.printStackTrace();
34 return false;
调用的时候传三个参数,邮件接收人 mailto ,邮件主题 title,邮件的html内容 htmlContent
2.获取html模板文件路径
3.读取html模板文件的内容
4.对模板中的参数进行替换
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。