springboot利用form表单发送邮件
时间: 2023-07-02 09:08:49 浏览: 136
springboot发送邮件
要在Spring Boot中使用form表单发送电子邮件,需要使用JavaMailSender类。JavaMailSender是Spring Boot的核心类之一,用于发送电子邮件。以下是一个简单的示例,可以将其用作参考:
1. 添加依赖
在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
```
2. 配置邮件信息
在application.properties文件中添加以下属性配置:
```
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=your-email-address
spring.mail.password=your-email-password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
```
3. 创建电子邮件服务类
创建一个名为EmailService的类,其中包含发送电子邮件的方法:
```
@Service
public class EmailService {
@Autowired
private JavaMailSender emailSender;
public void sendEmail(String to, String subject, String text) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setSubject(subject);
message.setText(text);
emailSender.send(message);
}
}
```
4. 创建控制器类
创建一个名为EmailController的类,其中包含处理表单提交的方法:
```
@Controller
public class EmailController {
@Autowired
private EmailService emailService;
@PostMapping("/sendEmail")
public String sendEmail(@RequestParam("to") String to,
@RequestParam("subject") String subject,
@RequestParam("text") String text) {
emailService.sendEmail(to, subject, text);
return "redirect:/success";
}
}
```
5. 创建HTML表单
创建一个名为email-form.html的HTML文件,其中包含用于发送电子邮件的表单:
```
<form method="post" action="/sendEmail">
<label for="to">To:</label>
<input type="email" id="to" name="to" required><br><br>
<label for="subject">Subject:</label>
<input type="text" id="subject" name="subject" required><br><br>
<label for="text">Text:</label>
<textarea id="text" name="text" required></textarea><br><br>
<input type="submit" value="Send">
</form>
```
这样就可以使用Spring Boot和JavaMailSender类来发送电子邮件了。
阅读全文