程序开发过程中可能要用到邮件发送功能,比如做账号激活或者在程序中通过发送邮件的方式来提醒代码开发者我们的某段代码发生了异常要及时处理,这里发送邮件用到的是spring中自带的类JavaMailSender来实现邮件的发送。首先我们导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- mail -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
然后在application.properties中配置发送邮件需要的一些参数
# 邮件smtp地址,这里我使用的是163的邮箱
spring.mail.host=smtp.163.com
# 发送邮箱的用户名
spring.mail.username=xxxxxx@163.com
# 发送邮箱的密码,
spring.mail.password=xxxxxx
# 开启smtp授权
spring.mail.properties.mail.smtp.auth=true
注意这里的发送邮箱的密码不是你登录邮箱的密码,而是邮箱里面的客户端的授权密码,以163为例
配置好这些参数后我们就可以编写测试类来实现邮箱发送了
package com.example.demo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
@Autowired
private JavaMailSender javaMailSender;
@Test
public void contextLoads() {
sendEmail();
}
public void sendEmail(){
SimpleMailMessage mailMessage = new SimpleMailMessage();
//发送邮箱
mailMessage.setFrom("xxxxxx@163.com");
//接收邮箱
mailMessage.setTo("xxxxxxxx@qq.com");
//设置发送主题
mailMessage.setSubject("测试邮件");
//设置发送邮件的正文
mailMessage.setText("您好");
javaMailSender.send(mailMessage);
}
}