MimeMessage.setContent()接受包含html代码的文件名

时间:2014-08-01 11:03:50

标签: java html email

我有一个html.txt文件,里面有html代码。我希望我的java代码发送邮件如下:

MimeMessage msg = new MimeMessage(session);
msg.addHeader("Content-type", "text/HTML; charset=UTF-8");
msg.addHeader("format", "flowed");
msg.addHeader("Content-Transfer-Encoding", "8bit");
msg.setFrom(new InternetAddress("abc@xyz.com"));
msg.setSubject(subject, "UTF-8");
msg.setContent(body, "text/HTML");

我希望上面的主体读取html.txt文件并以html格式发送邮件。怎么做?

1 个答案:

答案 0 :(得分:0)

您应将html.txt文件读入string

    Scanner scanner = new Scanner(new File("<path to html.txt>"));
    StringBuilder sb = new StringBuilder();
    while(scanner.hasNextLine()) {
        sb.append(scanner.nextLine());
    }

    String body = sb.toString();

然后将其传递给setContent方法

   msg.setContent(body, "text/html; charset=UTF-8"); 

请注意,您的html.txt文件不应包含<html><head><body>个标记。

希望这有帮助。