message.setContent()可以写html吗
时间: 2024-01-21 13:05:15 浏览: 103
是的,`message.setContent()` 方法可以写 HTML 内容。`setContent()` 方法用于设置邮件的正文内容,可以接受字符串、输入流或 MimeMultipart 对象作为参数。如果要写 HTML 内容,可以将 HTML 代码作为字符串传递给 `setContent()` 方法。
下面是一个示例代码,用于将带有 HTML 内容的邮件发送给收件人:
```java
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class SendHtmlEmail {
public static void main(String[] args) throws Exception {
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);
// 创建一个 MimeMessage 对象
MimeMessage message = new MimeMessage(session);
// 设置发件人和收件人
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// 设置邮件主题
message.setSubject("Test HTML email");
// 设置 HTML 内容
String htmlContent = "<h1>This is a test HTML email</h1><p>Hello World!</p>";
message.setContent(htmlContent, "text/html");
// 发送邮件
Transport.send(message);
System.out.println("HTML email sent successfully");
}
}
```
在上面的代码中,`setContent()` 方法的第一个参数是 HTML 内容,第二个参数是内容的类型。在这里,我们将第二个参数设置为 `"text/html"`,表示邮件的内容是 HTML 类型。
阅读全文