spring boot3整合邮件服务实现邮件发送功能
在Spring Boot 3中,你可以使用spring-boot-starter-mail
来整合邮件服务。以下是一个简单的例子,展示如何配置并发送一封简单邮件。
- 添加依赖到你的
pom.xml
:
<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_username
spring.mail.password=your_password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
- 创建一个邮件服务类:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
@Service
public class EmailService {
@Autowired
private JavaMailSender mailSender;
public void sendEmail(String to, String subject, String text) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setSubject(subject);
message.setText(text);
mailSender.send(message);
}
}
- 在你的服务中注入
EmailService
并使用它发送邮件:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class SomeService {
@Autowired
private EmailService emailService;
public void sendEmail() {
emailService.sendEmail("recipient@example.com", "Subject", "Email Content");
}
}
确保替换smtp.example.com
、your_username
和your_password
为你的实际邮件服务器信息。这个例子使用了一个简单的邮件对象SimpleMailMessage
,适用于简单的文本邮件发送。如果你需要发送HTML邮件或者包含附件,你可能需要使用MimeMessageHelper
来创建更复杂的邮件内容。
评论已关闭