你的位置:首页 > Java教程

[Java教程]java发送html内容的邮件


  在项目需要发送邮件,普通内容的邮件觉得太单调、太丑,没逼格,所以说直接把用到的邮件内容做成一个html模板,发送之前将对应参数替换掉,发送html内容的高逼格邮件。

  首先需要引用jar包,这就不多说了,直接贴代码:

 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); 9   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());18     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;35      }    

  调用的时候传三个参数,邮件接收人 mailto ,邮件主题 title,邮件的html内容 htmlContent