引入pom
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
package com.odin.treasure.api.utils;
import com.sun.mail.util.MailSSLSocketFactory;
import javax.mail.Authenticator;
import javax.mail.Message.RecipientType;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
/**
* @author fengzhipeng
* @version 1.0
* @date 2020/9/28 10:28
*/
public class Mail163Demo {
//mail:接收短信的邮箱地址; code:验证码
public static void sendMail(String mail,String code) throws Exception {
//创建一个配置文件并保存
Properties properties = new Properties();
properties.setProperty("mail.host","smtp.163.com");
properties.setProperty("mail.transport.protocol","smtp");
properties.setProperty("mail.smtp.auth","true");
//QQ存在一个特性设置SSL加密
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
properties.put("mail.smtp.ssl.enable", "true");
properties.put("mail.smtp.ssl.socketFactory", sf);
//创建一个session对象
Session session = Session.getDefaultInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("fengzhipen@163.com","授权的密码");
}
});
//开启debug模式
session.setDebug(true);
//获取连接对象
Transport transport = session.getTransport();
//连接服务器
transport.connect("smtp.163.com","fengzhipen@163.com","授权的密码");
//创建邮件对象
MimeMessage mimeMessage = new MimeMessage(session);
//邮件发送人
mimeMessage.setFrom(new InternetAddress("fengzhipen@163.com"));
//邮件接收人
mimeMessage.setRecipient(RecipientType.TO,new InternetAddress(mail));
//邮件标题
mimeMessage.setSubject("【CESHI】安全验证");
//邮件内容
mimeMessage.setContent("您的验证码是"+code,"text/html;charset=UTF-8");
//发送邮件
transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients());
//关闭连接
transport.close();
}
}