如何在Java代码中调用Html文件?

时间:2015-07-26 06:51:48

标签: java html

我正在研究Java RestFul WebProjects。在我的项目中,我有一个使用JavaMail.java类的util包。在这个项目中,我发送邮件给我们的要求,我正在我的String身体变量添加HTML标签并传递我的HTML代码。

我怀疑是否需要将html代码放在我的localhost中的一个文件中,我需要将html文件路径提供给该字符串体变量。是否可以,任何人都可以帮助我吗?

这里我将放置我的JavaMail.Java类代码:

public static void sendEmailForProfileActivation(int activationCode, String to) throws AddressException, MessagingException {
    /**
     * Sender's credentials
     * */
    String from = "helloworld@gmail.com";
    String password = "888888";
    String sub = "Activate Your Profile using activation code";
    //String body = "Activate Profile Using the active Code:  <b>" + activationCode + "</b>.";      
    String body="<html>"
            + "<body>"
            + "<table width=\"100%"+"\" cellpadding=\"0"+"\" cellspacing=\"0"+"\" bgcolor=\"e4e4e4"+"\">"
            + "<tr>"
            + "<td>"
            + "<table id=\"top-message"+"\" cellpadding=\"20"+"\" cellspacing=\"0"+"\" width=\"600"+"\" align=\"center"+"\">"
            + "<tr>"
            + "<td align=\"center"+"\">"
            + "<p>Trouble viewing this email? <a href=\"#"+"\">View in Browser</a></p>"
            + "</td>"
            + "</tr>"
            + "</table><!-- top message -->"
            + "<table id=\"main"+"\" width=\"570"+"\" align=\"center"+"\" cellpadding=\"0"+"\" cellspacing=\"15"+"\" bgcolor=\"ffffff"+"\">"
            + "<tr>"
            + "<td>"
            + "<table id=\"header"+"\" cellpadding=\"10"+"\" cellspacing=\"0"+"\" align=\"center"+"\" bgcolor=\"8fb3e9"+"\">"
            + "<tr>"
            + "<td width=\"570"+"\" bgcolor=\"#7EB646"+"\">"
            + "<h1><font color=\"white"+"\">HelloWorld Services 15 July 2015</font></h1>"
            + "</td>"
            + "</tr>"
            + "<tr>"
            + "</tr>"
            + "</table><!-- header -->"
            + "</td>"
            + "</tr><!-- header -->"
            + " <!--tr>"
            + "<td height=\"30"+"\">"
            + "<img src=\"http://dummyimage.com/570x30/fff/fff"+"\" />"
            + "</td>"
            + "</tr For spacing pupose one image to another where you want space you add this image-->"
            + "<tr>"
            + "<td>"
            + "<table id=\"content-6"+"\" cellpadding=\"0"+"\" cellspacing=\"0"+"\" align=\"center"+"\">"
            + "<p align=\"center"+"\">Activate Profile Using the active Code:  <b>" + activationCode + "</b>.</p>"
            + "<p align=\"center"+"\"><a href=\"http://www.helloworld.com"+"\">Activate Your Account</a></p>"
            + "</table>"
            + "</td>"
            + "</tr>"
            + "</table><!-- main -->"
            + "<table id=\"bottom-message"+"\" cellpadding=\"20"+"\" cellspacing=\"0"+"\" width=\"600"+"\" align=\"center"+"\">"
            + "<tr>"
            + "<td align=\"center"+"\">"
            + "<p>You are receiving this email because you signed up for updates</p>"
            + "<p><a href=\"http://www.helloworld.com"+"\">Unsubscribe instantly</a> | <a href=\"#"+"\">Forward to a friend</a> | <a href=\"http://www.helloworld.com"+"\">View in Browser</a></p>"
            + "<p> <img src=\"file:///home/yavat6/Downloads/manDoctor.png"+"\" style=\"width:50px;float:left;height:35px;"+"\"/>If you have any queries contact to us via mail 24*7<a href=\"https://www.gmail.com"+"\">CONTACT US</a></p>"
            + "</td>"
            + "</tr>"
            + "</table><!-- bottom message -->"
            + "</table><!-- 100% -->"
            + "</body>"
            + "</html>";                
    sendMessage(from, password, to,sub, body);      
}       

1 个答案:

答案 0 :(得分:0)

是的,您可以在java代码中发送 HTML 文件。您可以使用getResourceAsStream()来阅读.html文件,然后在.html中获取此String文件的内容,并将此内容发送为以下消息: - < / p>

InputStream  is = Sum.class.getClassLoader().getResourceAsStream("test.html"); // read file as stream, add this html file in yur class path.
        BufferedReader br = new BufferedReader(new InputStreamReader(is)) ;
        StringBuilder sb = new StringBuilder(); 
        String str = null;
        while((str=br.readLine()) != null)
            sb.append(str);
        String send_to = "test@gmail.com"; // add sender here
        Message msg = new MimeMessage(mailSession);
        try{
            msg.setSubject("Test Email");
            msg.setRecipient(Message.RecipientType.TO, new InternetAddress(send_to, false));
            String message = sb.toString(); // your html message as string
            msg.setContent(message, "text/html; charset=utf-8");
            msg.setSentDate(new Date());
            Transport.send(msg);
        }catch(MessagingException me){
            // catch exception here
        }