1、在pom文件增加jar依赖
<!-- 发送邮件 -->
<dependency >
<groupId >com.sun.mail </groupId >
<artifactId >javax.mail </artifactId >
<version >1.5.4 </version >
</dependency >
2、写邮件发送工具类,ps:MAIN_USERNAME 就是你的qq邮箱,MAIN_PASSWORD就是在你开启POP3/SMTP服务的时候给你的授权码。
private static final String MAIN_HOST = "smtp.qq.com"; //发送邮箱服务器
private static final String MAIN_USERNAME = "your@qq.com"; //发件人-用户名
private static final String MAIN_PASSWORD = "yourPasswrd"; //发件人-密码
/**
* 发送邮件
* @param recipients 收件人
* @param subject 主题
* @param content 内容
*/
private void sendMail(String recipients,String subject,String content){
//做链接前的准备工作 也就是参数初始化
Properties properties = new Properties();
properties.setProperty("mail.smtp.host",MAIN_HOST);//发送邮箱服务器
properties.setProperty("mail.smtp.port","465");//发送端口
properties.setProperty("mail.smtp.auth","true");//是否开启权限控制
properties.setProperty("mail.debug","true");//true 打印信息到控制台
properties.setProperty("mail.transport","smtp");//发送的协议是简单的邮件传输协议
properties.setProperty("mail.smtp.ssl.enable","true");
//建立两点之间的链接
Session session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(MAIN_USERNAME,MAIN_PASSWORD);
}
});
//创建邮件对象
Message message = new MimeMessage(session);
//设置发件人
try {
message.setFrom(new InternetAddress(MAIN_USERNAME));
//设置收件人
message.setRecipient(Message.RecipientType.TO,new InternetAddress(recipients));//收件人
//设置主题
message.setSubject(subject);
//设置邮件正文 第二个参数是邮件发送的类型
message.setContent(content,"text/html;charset=UTF-8");
//发送一封邮件
Transport transport = session.getTransport();
transport.connect(MAIN_USERNAME,MAIN_PASSWORD);
Transport.send(message);
log.info("邮件发送到"+recipients+"邮箱成功!");
} catch (MessagingException e) {
log.error("邮件发送失败,失败信息:"+e.toString());
}
}