【发布时间】:2020-08-26 07:12:47
【问题描述】:
我可以发送常规电子邮件(不是来自数据库),但是如何在电子邮件中发送完整表格? 这是我的代码:
private static Message preparedMessage(Session session, String myAccountEmail,
String recepient) {
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(myAccountEmail));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(recepient));
message.setSubject("Email using Java");
String htmlTest="<h2> i'm sending an email!</h2>";
message.setContent(htmlTest, "text/html");
}
return message;
} catch (Exception ex) {
Logger.getLogger(JavaMailUtil.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
我尝试了类似这样的简单方法:
List <PetrolData> petrolList = MP_RacunDAO.select("03.08.2020", "11.08.2020"); //This is data that i want to put in table
for(PetrolData pd : petrolList){
String htmlTable = "<table border='1'> <tr> "
+ "<th>Column 1</td>"
+ "<th>Column 2</td>"
+ "<th>Column 3</td>"
+ "</tr>"
+ "<tr>"
+ "<td>"+pd.getTitle()+"</td>"
+ "<td>"+pd.getSum1()+"</td>"
+ "<td>"+pd.getSum2()+"</td>"
+ "</tr>"
+ "</table>";
}
显然,它不适合我,我该怎么办?
【问题讨论】:
-
为什么要为每个
PetrolData创建一个表?添加一次创建表和表头并为每个PetrolData添加一行不是更合适吗?如果您不想使用库来创建 html,请使用StringBuilder,也许... -
@deHaar 我同意你的观点,这更有意义,但我不知道该怎么做:D 我不能把每个循环放在第一个
<tr>下。 -
你能显示
class PetrolData吗? -
@deHaar 它只是一个 POJO 类,我有四个字段,它们的构造函数和吸气剂。你还需要整个
class吗? -
那么,没必要……总和是什么类型的?
int?double?还有什么?
标签: java html sql email jakarta-mail