Java发送Html格式邮件,要求有标题和表格、带有链接的按钮,请给出一段示例,并详细描述和解释
时间: 2024-02-20 11:00:19 浏览: 79
java 发送HTML格式邮件
5星 · 资源好评率100%
以下是一段Java发送带有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";
String password = "password";
String port = "587";
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", host);
properties.setProperty("mail.smtp.port", port);
properties.setProperty("mail.smtp.auth", "true");
properties.setProperty("mail.smtp.starttls.enable", "true");
Session session = Session.getDefaultInstance(properties,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from, password);
}
});
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("HTML Email");
String htmlMessage = "<html><body><h1>Welcome to my email</h1>" +
"<table border='1'><tr><th>Name</th><th>Age</th></tr>" +
"<tr><td>John</td><td>30</td></tr>" +
"<tr><td>Jane</td><td>25</td></tr></table><br>" +
"<a href='http://www.example.com'><button>Click Here</button></a></body></html>";
message.setContent(htmlMessage, "text/html");
Transport.send(message);
System.out.println("Mail sent successfully");
}
}
```
这段代码中,我们使用了JavaMail API来发送邮件。在这个示例中,我们首先设置了邮件服务器的主机名和端口号,然后创建了一个Session对象,用于与邮件服务器进行通信。在创建Session对象时,我们还需要提供一个Authenticator对象,用于验证发送邮件的用户身份。
接下来,我们创建了一个MimeMessage对象,设置发件人、收件人、主题和邮件内容。邮件内容是一个HTML格式的字符串,其中包含了一个表格和一个带有链接的按钮。在设置邮件内容时,我们需要将邮件内容的MIME类型设置为"text/html"。
最后,我们调用Transport.send()方法来发送邮件。如果一切顺利,控制台将输出"Mail sent successfully"。
阅读全文