在项目需要发送邮件,普通内容的邮件觉得太单调、太丑,没逼格,所以说直接把用到的邮件内容做成一个html模板,发送之前将对应参数替换掉,发送html内容的高逼格邮件。
首先需要引用jar包,这就不多说了,直接贴代码:
1.发送邮件处理
1String host = "";2String mailFrom = "";3String mailPass = "";4PRoperties props=newProperties();5props.put("mail.smtp.host",host);6props.put("mail.smtp.auth", "true");7sessions=Session.getInstance(props);8MimeMessage message=newMimeMessage(s);910//给消息对象设置发件人/收件人/主题/发信时间11try{12InternetAddress from=newInternetAddress(mailFrom);13message.setFrom(from);14InternetAddress to=newInternetAddress(mailto);15message.setRecipient(Message.RecipientType.TO,to);16message.setSubject(title);17message.setSentDate(newDate());1819//给消息对象设置内容20BodyPart mdp=newMimeBodyPart();//新建一个存放信件内容的BodyPart对象21mdp.setContent(htmlContent,"text/html;charset=UTF-8");//给BodyPart对象设置内容和格式/编码方式22Multipart mm=newMimeMultipart();//新建一个MimeMultipart对象用来存放BodyPart对象(事实上可以存放多个)23mm.addBodyPart(mdp);//将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)24message.setContent(mm);//把mm作为消息对象的内容25message.saveChanges();26Transport transport=s.getTransport("smtp");27transport.connect(host,mailFrom,mailPass);28transport.sendMessage(message,message.getAllRecipients());29transport.close();30returntrue;31}32catch(Exception e) {33e.printStackTrace();34returnfalse;35}
调用的时候传三个参数,邮件接收人 mailto ,邮件主题 title,邮件的html内容 htmlContent
2.获取html模板文件路径
3.读取html模板文件的内容
4.对模板中的参数进行替换