java mail 发送表格邮件_Java Mail使用CSS格式化在电子邮件中发送的表格?

本文介绍如何使用Java Mail API结合CSS格式化从MySQL查询结果中创建的表格内容,并将其作为电子邮件发送。通过调整代码,可以将查询结果转换为包含边框和其他样式的HTML表格。
摘要由CSDN通过智能技术生成

我可以成功使用

Java Mail API发送电子邮件,但现在我正在尝试发送从带有边框等格式的表中的

MySQL查询填充的ResultSet的内容,我可以使用CSS标签来执行此操作吗?如果是这样的话?

我的代码如下:

public void getOutstanding() throws MessagingException {

try {

String outS = "SELECT period_to, type, amt, status FROM tblinstall "

+ "WHERE status like ?";

PreparedStatement update = toDB.prepareStatement(outS);

email = new StringBuilder();

email.append("

"

+ "

"

+ "

");

update.setString(1, "Outstanding");

ResultSet results = update.executeQuery();

while (results.next()) {

System.out.println("in results...");

email.append("

");

email.append("

");

long period = results.getLong("period_to");

email.append(DateConvert.fromEpoch(period));

email.append("

");

email.append("

");

email.append(results.getString("type"));

email.append("

");

email.append("

");

email.append(results.getString("amt"));

email.append("

");

email.append("

");

email.append(results.getString("status"));

email.append("

");

email.append("

");

}

email.append("

");

sm.populateMailMessage(email.toString());

sm.sendMail();

} catch (SQLException sql) {

sql.printStackTrace();

}

}

我能够发送电子邮件,但只能发送纯文本,’sm’是SendMail的实例,如下所示:

public class SendMail {

private Properties mailAccessCredentials;

private Session mailSession;

private MimeMessage mailMessage;

public SendMail() throws MessagingException{

populateProperties();

}

private void populateProperties() throws AddressException, MessagingException {

//Step1

System.out.println("\n 1st ===> setup Mail Server Properties..");

mailAccessCredentials = System.getProperties();

mailAccessCredentials.put("mail.smtp.port", "587"); // TLS Port

mailAccessCredentials.put("mail.smtp.auth", "true"); // Enable Authentication

mailAccessCredentials.put("mail.smtp.starttls.enable", "true"); // Enable StartTLS

System.out.println("Mail Server Properties have been setup successfully..");

}

public void populateMailMessage(String msg) throws MessagingException{

//Step2

System.out.println("\n\n 2nd ===> get Mail Session..");

mailSession = Session.getDefaultInstance(mailAccessCredentials, null);

mailMessage = new MimeMessage(mailSession);

mailMessage.addRecipient(Message.RecipientType.TO, new InternetAddress("n****@gmail.com"));

mailMessage.setSubject("Report from Database Payments now Due");

mailMessage.setContent(msg, "text/html");

System.out.println("Mail Session has been created successfully..");

}

public void sendMail() throws MessagingException{

//Step3

System.out.println("\n\n 3rd ===> Get Session and Send mail");

Transport transport = mailSession.getTransport("smtp");

// Enter your correct gmail UserID and Password

transport.connect("smtp.gmail.com", "lettingssmart@******", "****");

transport.sendMessage(mailMessage, mailMessage.getAllRecipients());

transport.close();

}

public static void main(String[] args) throws MessagingException {

SendMail sm = new SendMail();

//sm.populateMailMessage();

sm.sendMail();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值