Springboot集成邮件服务
集成步骤
- 添加starter依赖
- 添加相关配置
- 调用JavaMailSender发送邮件
添加starter依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
添加相关配置
Gmail
选用了587端口。密码若直接使用google账号密码会提示使用应用专属密码,提示信息中有超链接,点开按流程设置即可获得专属密码
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username={google账号}@gmail.com
spring.mail.password={google应用专属密码}
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.starttls.enable=true
QQ邮箱
开启SSL时使用587端口时无法连接QQ邮件服务器
spring.mail.host=smtp.qq.com
spring.mail.username={QQ号}@qq.com
spring.mail.password={客户端授权码}
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.port=465
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.starttls.enable=true
调用JavaMailSender发送邮件
JavaMailSender需要装配才可使用
@Configuration
public class EmailConfig {
@Resource
private JavaMailSender mailSender;
}
/**
* @param to 接收邮箱
* @param subject 邮件主题
* @param content 邮件正文
*/
public void sendSimpleMail(String to, String subject, String content) {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom(from);
message.setTo(to);
message.setSubject(subject);
message.setText(content);
mailSender.send(message);
}