Java发送邮件 SpringBoot
在Spring Boot中发送邮件,你可以使用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
- 创建一个Service来发送邮件:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.stereotype.Service;
@Service
public class EmailService {
@Autowired
private JavaMailSender mailSender;
public void sendSimpleMail(String to, String subject, String content) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setSubject(subject);
message.setText(content);
mailSender.send(message);
}
}
- 在你的Controller或者其他Service中注入
EmailService
并调用sendSimpleMail
方法发送邮件。
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 {
@Autowired
private EmailService emailService;
@GetMapping("/send-email")
public String sendEmail() {
emailService.sendSimpleMail("recipient@example.com", "Test Subject", "This is the email content");
return "Email sent!";
}
}
确保你的邮件服务器允许使用你的用户名和密码进行身份验证,并且配置了正确的端口和安全设置。上面的例子使用了一个简单的GET端点来发送邮件,实际应用中可以根据需要进行调整。
评论已关闭