我正在尝试以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);
答案 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>");