使用Spring Boot发送邮件需要进行以下步骤:
pom.xml
文件中添加Spring Boot的邮件依赖:<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
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发送邮件的基本步骤。可以根据实际需求进行更多的配置和定制。