jar包的下载地址:https://mvnrepository.com/artifact/javax.mail/mail/1.4.7
package com.shang;
import javax.mail.*;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import java.util.Properties;
/**
* 发送邮件工具类
*
* @author shang
* @date 2019年3月19日
*/
public class SendEmailUtil {
public static void main(String[] args) {
String receiver = "xxx@163.com";
String subject = "测试邮件";
String msg = "<div style='color: red;'>你有一个验证,<div>请<a href = http://www.baidu.com>点击</a>查看!</div>";
sendMail(receiver, subject, msg);
}
/**
* 发送邮件的方法
*
* @param receiver 收件人邮箱
* @param subject 邮件主题
* @param msg 邮件内容
*/
public static void sendMail(String receiver, String subject, String msg) {
//创建Properties对象
Properties props = new Properties();
// 设置邮箱客户端类型
props.setProperty("mail.transport.protocol", "SMTP");
// 设置邮箱服务器,这里设置的是新浪的邮箱服务器.可以根据自己的需求进行更改为对应的邮箱服务器
props.setProperty("mail.host", "smtp.sina.com");
// 指定验证为true
props.setProperty("mail.smtp.auth", "true");
// 创建验证器
Authenticator auth = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
// 发邮件的账号和密码,此处需要到邮箱官网开启SMTP,P0P3,IMAP服务,然后获取授权码作为第三方登录密码,没有开启授权码,则设置为登录密码
//如何开启自行百度
return new PasswordAuthentication("xxx@sina.com", "xxxxxx");
}
};
// 创建一个Session
Session session = Session.getInstance(props, auth);
// 创建一个Message,它相当于是邮件对象
Message message = new MimeMessage(session);
try {
// 设置发件人
message.setFrom(new InternetAddress("xxx@sina.com"));
// 设置发送方式与接收者
message.setRecipient(RecipientType.TO, new InternetAddress(receiver));
// 设置邮件主题
message.setSubject(subject);
// 设置邮件内容
// 方式一:setText();邮件的内容为文本格式,换行使用\n
// message.setText("邮箱内容是:\n你有一个消息通知!");
// 方式二:setContent;邮件内容可以添加链接,内容可以识别HTML
message.setContent(msg, "text/html;charset=utf-8");
// 创建 Transport用于将邮件发送
Transport.send(message);
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
收到的邮件格式: