以下代码段显示了如何发送html电子邮件。我们首先定义电子邮件信息,例如发件人地址,收件人地址和主题。下一步创建一个Properties将用于创建邮件Session对象的。有了一个Session对象,我们可以Message使用创建一个MimeMessage。
我们使用MimeMessage.setContent(Object, String)来设置电子邮件的html内容。text/html在我们使用的示例中,请不要忘记将内容类型设置为并提供字符集charset=utf-8。
package org.nhooo.example.mail;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
public class SendHTMLEmail {
public static void main(String[] args) {
String from = "nhooo@gmail.com";
String to = "nhooo@gmail.com";
String subject = "Hello";
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.port", "587");
Session session = Session.getDefaultInstance(props);
try {
InternetAddress fromAddress = new InternetAddress(from);
InternetAddress toAddress = new InternetAddress(to);
Message message = new MimeMessage(session);
message.setFrom(fromAddress);
message.setRecipient(Message.RecipientType.TO, toAddress);
message.setSubject(subject);
String sb = "<head>" +
"<style type=\"text/css\">" +
" .red { color: #f00; }" +
"</style>" +
"</head>" +
"<h1 class=\"red\">" + message.getSubject() + "</h1>" +
"<p>" +
"Lorem ipsum dolor sit amet, <em>consectetur</em> adipisicing elit, " +
"sed do eiusmod tempor incididunt ut labore et dolore magna <strong>" +
"aliqua</strong>.</p>";
message.setContent(sb, "text/html; charset=utf-8");
message.saveChanges();
//将邮件发送给收件人。您还需要指定用户名
// 和用于验证邮件服务器的密码。
Transport.send(message, "nhooo", "********");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}Maven依赖
<!-- http://repo1.maven.org/maven2/javax/mail/javax.mail-api/1.5.6/javax.mail-api-1.5.6.jar --> <dependency> <groupId>javax.mail</groupId> <artifactId>javax.mail-api</artifactId> <version>1.5.6</version> </dependency> <!-- http://repo1.maven.org/maven2/javax/mail/mail/1.4.7/mail-1.4.7.jar --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency>