使用Spring Boot发送邮件需要进行以下步骤:
- 添加Spring Boot邮件依赖:在项目的
pom.xml
文件中添加Spring Boot的邮件依赖:
org.springframework.boot spring-boot-starter-mail
- 在
application.properties
或application.yml
文件中配置邮件服务器的相关信息,例如:
spring.mail.host=smtp.example.com spring.mail.port=587 spring.mail.username=your-email@example.com spring.mail.password=your-email-password spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true
- 创建一个邮件发送服务类,例如
EmailService
:
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.MailException; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.stereotype.Service; @Service public class EmailService { private JavaMailSender javaMailSender; @Autowired public EmailService(JavaMailSender javaMailSender) { this.javaMailSender = javaMailSender; } public void sendEmail(String to, String subject, String text) { try { SimpleMailMessage message = new SimpleMailMessage(); message.setTo(to); message.setSubject(subject); message.setText(text); javaMailSender.send(message); System.out.println("邮件发送成功!"); } catch (MailException e) { System.out.println("邮件发送失败:" + e.getMessage()); } } }
- 在需要发送邮件的地方调用
EmailService
的sendEmail
方法发送邮件:
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class EmailController { private EmailService emailService; @Autowired public EmailController(EmailService emailService) { this.emailService = emailService; } @GetMapping("/send-email") public String sendEmail() { emailService.sendEmail("recipient@example.com", "测试邮件", "这是一封测试邮件。"); return "邮件发送成功!"; } }
以上是使用Spring Boot发送邮件的基本步骤。可以根据实际需求进行更多的配置和定制。