Spring Boot整合发送QQ邮箱功能
在Spring Boot中整合发送QQ邮件功能,你需要使用JavaMailSender接口。以下是一个简单的例子,展示了如何配置Spring Boot以及发送一封QQ邮件。
- 添加依赖到
pom.xml
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
- 配置application.properties或application.yml:
spring.mail.host=smtp.qq.com
spring.mail.port=587
spring.mail.username=你的QQ邮箱地址
spring.mail.password=QQ邮箱授权码
spring.mail.protocol=smtp
spring.mail.properties.mail.smtp.ssl.enable=true
获取QQ邮箱授权码的方法:
- 登录到QQ邮箱网页版。
- 点击设置 -> 账户。
- 开启服务中的“IMAP/SMTP服务”。
- 按照指示获取授权码并使用。
- 创建一个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("/sendEmail")
public String sendEmail() {
try {
emailService.sendSimpleMail("收件人邮箱地址", "邮件主题", "邮件内容");
return "Email sent successfully";
} catch (Exception e) {
return "Email failed to send: " + e.getMessage();
}
}
}
确保你的QQ邮箱地址和授权码是正确的,并且你的QQ邮箱没有启用高级防护,否则可能无法发送邮件。
评论已关闭