springboot整合邮件发送(163邮箱发送为例)
先登录163邮箱获取授权
勾选后安装提示会叫你设置授权密码之类的:记住授权的密码
1.引入maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
application.yml里配置: spring: mail: host: smtp.163.com //登录邮箱设置那里可以看到,第一张图所示,SMTP服务器 password: 12222 密码是第二张图设置的授权密码.不是邮箱的登录密码 username: 15902048215@163.com //这个是你的邮箱
创建一个配置类
package com.bamboo.water_chivalry.common.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.mail.MailSender; import org.springframework.mail.javamail.JavaMailSenderImpl; /** * @PROJECT_NAME: water_chivalry * @DESCRIPTION: * @Author:: Hanson-Hsc * @DATE: 2020/6/8 17:17 */ @Configuration @ConfigurationProperties(prefix = "spring.mail") public class EmailConfig { private String host; private Integer port; private String username; private String password; @Bean public MailSender javaMailSender() { JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); javaMailSender.setHost(host); javaMailSender.setPort(port); javaMailSender.setUsername(username); javaMailSender.setPassword(password); return javaMailSender; } public void setHost(String host) { this.host = host; } public void setPort(Integer port) { this.port = port; } public void setUsername(String username) { this.username = username; } public void setPassword(String password) { this.password = password; } }
编写测试
@Autowired private MailSender javaMailSender; public void emailSend(String txt){ SimpleMailMessage message = new SimpleMailMessage(); message.setFrom("你的源邮箱"); message.setTo("需要发送的邮箱"); message.setSubject("邮件主题"); message.setText("文本"); javaMailSender.send(message); }
发送成功后进入邮箱查看是否成功