//服务器连接信息
Properties pros = new Properties();
pros.put("mail.smtp.host", mailHost);
pros.put("mail.smtp.port", mailPort);
pros.put("mail.smtp.auth", "true");
// pros.put("mail.smtp.starttls.enable", "false"); //禁用tls
// 开启ssl加密
MailSSLSocketFactory sf = null;
try {
sf = new MailSSLSocketFactory();
} catch (GeneralSecurityException e) {
e.printStackTrace();
}
sf.setTrustAllHosts(true);
pros.put("mail.smtp.ssl.enable", "true"); //开启ssl
pros.put("mail.smtp.ssl.socketFactory", sf);
pros.put("mail.transport.protocol", "smtp"); //发送邮件协议名称
pros.put("mail.smtp.ssl.protocols", "TLSv1.2"); //指定TLS版本
pros.put("mail.smtp.ssl.trust", mailHost); //信任该邮箱服务器地址
//创建session会话
Session session = Session.getInstance(pros,new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(mailUsername, mailPassword);
}
});
log.info("邮件session会话创建成功");
//邮件信息
MimeMessage mimeMessage = new MimeMessage(session);
mimeMessage.setSubject("短信标题");
mimeMessage.setText("短信内容");
mimeMessage.setFrom(new InternetAddress(mailUsername));
mimeMessage.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(mailToMail));
Transport.send(mimeMessage);
log.info("短信余量预警邮件发送完成");
springboot配置
mailConfig:
host: smtp.qq.com #smtp服务器
port: 465 #smtp服务端口
username: xxxx@qq.com #发送者邮箱
password: xxxxxxxx #授权码
toMail: xxxx@139.com #目标邮箱