以下代码段显示了如何发送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>