一、前言
邮箱是软件开发中,常用的验证工具,例如登陆、注册等。本文介绍springboot邮件发送服务的简易封装。
二、pom文件引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
三、Mail工具类封装
/**
* 邮件工具类
* @author lmh
*/
public class MailUtil {
/**
* 发送方的邮箱账号
*/
private static final String FROM = "xxxxqq.com";
/**
* 发送方的邮箱密码(注意检测是否开启了 POP3/SMTP 服务,QQ邮箱对应设置
* 位置在: [设置-账户-POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务])
*/
private static final String PASSWORD = "xxxxx";
/**
* 发送方的邮箱服务器(注意,此处根据你的服务器来决定,如果使用的是QQ服务器,请填写
* (smtp.qq.com)
*/
private static final String SERVER = "smtp.qq.com";
/**
* 发送邮件
* @param to 给谁发
* @param text 发送内容
* @param title 邮件标题
*/
public static void sendMail(String to,String text,String title) throws MessagingException {
//创建连接对象 连接到邮件服务器
Properties properties = new Properties();
//设置发送邮件的基本参数
properties.put("mail.smtp.host", SERVER);
//发送端口(根据实际情况填写,一般均为25)
properties.put("mail.smtp.port", "25");
properties.put("mail.smtp.auth", "true");
//设置发送邮箱的账号和密码
Session session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
//两个参数分别是发送邮箱的账户和密码
return new PasswordAuthentication(FROM,PASSWORD);
}
});
//创建邮件对象
Message message = new MimeMessage(session);
//设置发件人
message.setFrom(new InternetAddress(FROM));
//设置收件人
message.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
//设置主题
message.setSubject(title);
//设置邮件正文 第二个参数是邮件发送的类型
message.setContent(text,"text/html;charset=UTF-8");
//发送一封邮件
Transport.send(message);
}
}