目录
一、准备工作:开启SMTP获取授权码
以 163 邮箱为例,首先登录邮箱之后,在设置中开启 SMTP,如下图所示:
二、添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
三、设置配置
spring:
mail:
host: smtp.163.com
username: xxx
# 邮箱授权码,不是邮箱密码,开通SMTP、POP时得到的授权码
password: xxx
四、编写代码
@RestController
@RequestMapping("/mail")
public class EmailController {
@Value("${spring.mail.username}")
private String from;
@Autowired
private MailSender mailSender;
@Autowired
private ObjectMapper objectMapper;
@RequestMapping("/send")
public String sendEmail(@RequestParam(required = false) String message,
@RequestParam(defaultValue = "2456023301@qq.com",required = false) String to) throws JsonProcessingException {
message = message.replace("```json","")
.replace("```","");
objectMapper.readValue(message, MailObject.class);
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setFrom(from);
mailMessage.setTo(to);
mailMessage.setSubject("测试邮件");
mailMessage.setText("测试邮件正文");
mailSender.send(mailMessage);
return "发送邮件成功";
}
/**
* 邮件实体类
* @param title
* @param content
*/
record MailObject(String title,String content){
}
}