JavaMail发送html格式的邮件
时间: 2023-12-23 11:47:28 浏览: 149
javamail发送html邮件
4星 · 用户满意度95%
要发送 HTML 格式的邮件,需要使用 JavaMail API 中的 MimeMessage 和 MimeMultipart 类。下面是一个简单的样例代码:
```java
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class SendHtmlEmail {
public static void main(String[] args) {
String to = "recipient@example.com"; // 收件人邮件地址
String from = "sender@example.com"; // 发件人邮件地址
String host = "smtp.example.com"; // SMTP 服务器地址
// 设置邮件会话的属性
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", host);
// 获取默认的 Session 对象
Session session = Session.getDefaultInstance(properties);
try {
// 创建一个默认的 MimeMessage 对象
MimeMessage message = new MimeMessage(session);
// 设置 From: 头部头字段
message.setFrom(new InternetAddress(from));
// 设置 To: 头部头字段
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// 设置邮件主题
message.setSubject("HTML 邮件");
// 创建一个 Multipart 消息对象
Multipart multipart = new MimeMultipart();
// 创建一个 MimeBodyPart 对象,包含 HTML 内容
BodyPart htmlBodyPart = new MimeBodyPart();
String htmlContent = "<h1>这是一封 HTML 邮件</h1><p>这是邮件的正文内容。</p>";
htmlBodyPart.setContent(htmlContent, "text/html");
// 将 HTML 内容添加到 Multipart 消息对象中
multipart.addBodyPart(htmlBodyPart);
// 将 Multipart 消息对象设置为邮件内容
message.setContent(multipart);
// 发送邮件
Transport.send(message);
System.out.println("邮件已发送。");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
```
在上面的代码中,我们首先设置了邮件会话的属性,包括 SMTP 服务器地址。然后获取默认的 Session 对象。
接着,创建一个 MimeMessage 对象,并设置发件人、收件人和邮件主题。我们还创建了一个 Multipart 消息对象,并将 HTML 内容添加到其中。最后,将 Multipart 消息对象设置为邮件内容,并发送邮件。
需要注意的是,发送邮件的过程可能需要进行身份验证。如果需要身份验证,可以通过设置 Session 对象的属性来指定身份验证相关的信息。
阅读全文