第一步肯定是导入相关依赖了,所需依赖如下:
<!-- 支持发送邮件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
第二步是要进行配置啦,配置(application.yaml)如下:
spring:
mail:
#使用的是163邮箱
host: smtp.163.com
#发送者的邮箱账号
username: maxinhangdoit@163.com
#发送者邮箱的授权码
password: **********
port: 25
default-encoding: UTF-8
注意是授权码不是你邮箱的密码,在此之前你还应该开启你邮箱的POP3/SMTP服务。
操作步骤:
点击开启之后利用手机发送指定验证码,便获取到授权码了。
第三步编写代码进行测试
@SpringBootTest(classes = RepairApplication.class)
@RunWith(SpringRunner.class)
class RepairApplicationTests {
@Autowired
private JavaMailSender javaMailSender;
@Test
void contextLoads() {
SimpleMailMessage mailMessage = new SimpleMailMessage();
//发送者的邮箱
mailMessage.setFrom("******@163.com");
//接受者的邮箱
mailMessage.setTo("*****@163.com");
//邮件标题
mailMessage.setSubject("Hello World");
//邮件内容
mailMessage.setText("content!!!");
javaMailSender.send(mailMessage);
}
}
遇到的问题
问题: JavaMainSender注入不成功
解决方法:
手动创建Bean进行注入
@Configuration
public class MailConfiguration {
@Bean
public JavaMailSenderImpl JavaMailSender() {
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setHost("smtp.163.com");
mailSender.setUsername("maxinhangdoit@163.com");
mailSender.setPassword("***********");
mailSender.setDefaultEncoding("UTF-8");
return mailSender;
}
}