前期准备:
1.导入所需依赖:
<!-- <!– Spring Boot Starter Mail - 邮件服务依赖 –>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.在全局配置类(application.properties)或yal类(application.yml)配置好邮件相关配置
spring.mail.host=smtp.example.com
spring.mail.port=587
spring.mail.username=your-email@example.com
spring.mail.password=your-password
spring.mail.protocol=smtp
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
发送模板邮件
需求:
1、用户可以随意配置目标邮箱地址。
2、用户输入用户名跟验证码
3、点击发送按钮。
- 目标邮箱地址是否为空,为空提示用户输入正确的邮箱地址(提示语:请输入邮箱地址)。
- 判断邮箱格式是否正确,不正确提示用户输入正确的邮箱格式(提示语:邮件发送失败: 无效的邮箱地址格式)。
- 判断用户名是否为空,为空提示用户输入用户名(提示语:用户名不能为空)
- 判断验证码是否为空,为空提示用户输入验证码(提示语:验证码不能为空)
- 发模版邮件(提示语:模板邮件发送成功)
代码:
编写控制类:EmailController1
@Controller
public class EmailController1 {
private final JavaMailSender mailSender;
private final String from = your-email@example.com; // 设置发件人地址
private final TemplateEngine templateEngine;
@Autowired
public EmailController1(JavaMailSender mailSender, TemplateEngine templateEngine) {
this.mailSender = mailSender;
this.templateEngine = templateEngine;
}
@GetMapping("/email-e")
public String showEmailForm() {
return "email/e";
}
@PostMapping("/sendEmail5")
public String sendEmail(@RequestParam String email, @RequestParam String username, @RequestParam String code, Model model) {
boolean index = true;
if (!isValidEmail(email)) {
model.addAttribute("error", "邮件发送失败:请重新输入有效的邮箱地址");
index = false;
}
if (StringUtils.isBlank(email)) {
model.addAttribute("error", "邮箱不能为空");
index = false;
}
if (StringUtils.isBlank(username)) {
model.addAttribute("error", "用户名不能为空");
index = false;
}
if (StringUtils.isBlank(code)) {
model.addAttribute("error", "验证码不能为空");
index = false;
}
String subject = "模板邮件";
if (index){
Context context = new Context();
context.setVariable("username", username);
context.setVariable("code", code);
String emailContent &#