从HTML表格中的Java邮件发送数据

时间:2017-07-07 08:59:38

标签: java

我正在尝试以HTML表格的形式从我的Java邮件应用程序发送数据。问题是,当我收到邮件时,数据是简单的文本格式而不是表格形式。请提出解决方案

StringBuilder sb1 = new StringBuilder(200);
sb1.append("<html><body>"+ "<table style='border:2px solid black'>");
for(SCSINPojo cat : ar){

    sb1.append("<tr>");
    sb1.append(cat.getINNumber())
       .append("<td>")
       .append(cat.getDescription())
       .append("</td><td>")
       .append(cat.getStatus())
       .append("</td><td>")
       .append(cat.getStatus())
       .append("</td><td>")
       .append(cat.getOwner())
       .append("</td><td>")
       .append(cat.getOwnerGroup())
       .append("</td><td>")
       .append(cat.getSeverity());
    sb1.append("</tr>");
    String in = sb1.toString();

}
sb1.append("</table></body></html>");

message.setText(sb1.toString());

Transport.send(message);

2 个答案:

答案 0 :(得分:1)

试试这个 -

MimeMessage simpleMessage = new MimeMessage(mailSession);

然后,当您想要设置邮件正文时,请调用

simpleMessage.setText(text, "utf-8", "html");

或致电

simpleMessage.setContent(text, "text/html; charset=utf-8");

希望这会对你有所帮助:)。

答案 1 :(得分:0)

试试这个......你甚至可以把它打印成HTML文件,所以我为外观添加了一些断行。

sb1.append("<html><body><br/>"+ "<table style='border:2px solid black'><br/>");
    for(SCSINPojo cat : ar){

        sb1.append("<tr><br/><td>");
        sb1.append(cat.getINNumber())
           .append("</td><br/><td>")
           .append(cat.getDescription())
           .append("</td><br/><td>")
           .append(cat.getStatus())
           .append("</td><br/><td>")
           .append(cat.getStatus())
           .append("</td><br/><td>")
           .append(cat.getOwner())
           .append("</td><br/><td>")
           .append(cat.getOwnerGroup())
           .append("</td><br/><td>")
           .append(cat.getSeverity());
        sb1.append("</td><br/><td>");
        String in = sb1.toString();

    }
    sb1.append("</table></br></body></html>");