返回

用Spring Boot无痛发送QQ邮件

后端

Spring Boot轻松发送QQ邮件

导言

在现代软件开发中,邮件通知仍然是必不可少的通信渠道,尤其是对于个人项目和小型应用。Spring Boot作为Java开发的利器,提供了便捷的机制来实现邮件发送功能。本文将深入探讨如何使用Spring Boot集成QQ邮箱,轻松实现邮件发送。

Spring Boot集成QQ邮箱

1. 添加依赖

在你的Spring Boot项目中添加以下依赖:

<dependency>
  <groupId>com.sun.mail</groupId>
  <artifactId>javax.mail</artifactId>
  <version>1.6.2</version>
</dependency>

2. 配置邮箱属性

在你的application.properties文件中添加以下QQ邮箱配置:

spring.mail.host=smtp.qq.com
spring.mail.port=587
spring.mail.username=你的QQ邮箱账号@qq.com
spring.mail.password=你的QQ授权码
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.connectiontimeout=5000
spring.mail.properties.mail.smtp.timeout=5000
  • spring.mail.host:QQ邮箱的SMTP服务器地址
  • spring.mail.port:QQ邮箱的SMTP端口号
  • spring.mail.username:你的QQ邮箱账号(后缀为@qq.com)
  • spring.mail.password:你的QQ授权码(不是你的QQ密码)
  • spring.mail.properties.mail.smtp.auth:是否使用SMTP认证
  • spring.mail.properties.mail.smtp.starttls.enable:是否使用TLS加密
  • spring.mail.properties.mail.smtp.connectiontimeout:连接超时时间(毫秒)
  • spring.mail.properties.mail.smtp.timeout:读取超时时间(毫秒)

注意: 授权码是QQ邮箱提供的用于第三方应用登录的密码,不同于你的QQ密码。你可以通过以下步骤获取授权码:

  1. 登录QQ邮箱。
  2. 点击右上角的设置按钮。
  3. 选择“账户”选项卡。
  4. 点击“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”下的“生成授权码”。
  5. 输入你的QQ密码并点击“生成”。

发送邮件

在你的Spring Boot项目中,你可以使用JavaMailSender接口发送邮件。示例代码如下:

@Autowired
private JavaMailSender mailSender;

@PostMapping("/send-mail")
public ResponseEntity<String> sendMail(@RequestBody MailRequest request) {
  MimeMessage message = mailSender.createMimeMessage();
  MimeMessageHelper helper = new MimeMessageHelper(message);

  helper.setTo(request.getTo());
  helper.setFrom(request.getFrom());
  helper.setSubject(request.getSubject());
  helper.setText(request.getText(), request.isHtml());

  mailSender.send(message);

  return ResponseEntity.ok("Email sent successfully");
}

结语

通过使用Spring Boot集成QQ邮箱,你可以轻松实现邮件发送功能。这使得你可以在个人项目或小型应用中实现及时高效的邮件通知,提升用户体验。希望本文对你有所帮助,祝你开发愉快!

拓展阅读