2017-07-07 14 views
0

我试图以HTML表格的形式从我的Java邮件应用程序发送数据。问题是,当我收到邮件时,数据是简单的文本格式,而不是表格形式。请建议一个解决方案从HTML邮件发送数据到HTML表中

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

检查此。 https://stackoverflow.com/questions/5068827/how-do-i-send-an-html-email – subro

+0

字符串是非常无用的,因为它是从来没有使用和重写在每个迭代 – azro

回答

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>"); 
0

试试这个 -

MimeMessage simpleMessage = new MimeMessage(mailSession); 

然后,当你想设置邮件正文,或者调用

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

或致电

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

希望这将有助于你:)

+0

谢谢..这工作 –