Java生成带表格的邮件
时间: 2023-10-08 14:08:43 浏览: 154
你可以使用JavaMail API来生成带表格的邮件。下面是一个简单的示例代码:
```java
import java.util.Date;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class EmailWithTable {
public static void main(String [] args) {
// 收件人的电子邮件 ID
String to = "recipient@example.com";
// 发件人的电子邮件 ID
String from = "sender@example.com";
// 发件人的电子邮件密码
String password = "password";
// SMTP 服务器地址
String host = "smtp.example.com";
// SMTP 服务器端口
String port = "587";
// 创建一个属性对象并设置 SMTP 服务器信息
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", port);
// 获取与 SMTP 服务器的连接
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from, password);
}
});
try {
// 创建邮件消息对象
Message message = new MimeMessage(session);
// 设置发件人
message.setFrom(new InternetAddress(from));
// 设置收件人
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
// 设置邮件主题
message.setSubject("Test Email with Table");
// 设置邮件发送时间
message.setSentDate(new Date());
// 创建邮件内容
MimeBodyPart messageBodyPart = new MimeBodyPart();
// 设置邮件内容为 HTML
messageBodyPart.setContent("<h1>Test Email with Table</h1><table border='1'><tr><th>Column 1</th><th>Column 2</th></tr><tr><td>Row 1, Column 1</td><td>Row 1, Column 2</td></tr><tr><td>Row 2, Column 1</td><td>Row 2, Column 2</td></tr></table>", "text/html");
// 创建多部件邮件
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
// 设置多部件邮件内容
message.setContent(multipart);
// 发送邮件
Transport.send(message);
System.out.println("Email sent successfully.");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}
```
在邮件内容中,我们使用 HTML 标记来创建一个带有表格的 HTML 页面。然后,将该 HTML 页面设置为邮件内容并发送邮件。
阅读全文