Spring Boot 使用腾讯QQ邮箱发送邮件

Spring Boot 发送邮件比较简单,已经傻瓜化了,用两分钟看完,三分钟搞定,五分钟做出此功能足矣。
如果五分钟还没做出来,那请检查一下自己的电脑是否有开发工具,电脑是否过于老旧,网络是否缓慢。


首先获取一下授权码吧:腾讯QQ个人邮箱授权码的获取方式:
在这里插入图片描述
在这里插入图片描述

在application-local.yml中配置文件中配置以下信息

#在.yml文件中配置一下信息

server:
  port: 8080
  servlet:
    context-path: /mailsender
# 数据源相关配置
spring:
  mail:
    #host: smtp.exmail.qq.com  # 腾讯企业邮箱
    host: smtp.qq.com  # 腾讯个人邮箱
    protocol: smtp
    port: 465
    username: ******@qq.com #邮箱地址
    password: xxxxxxxx  #邮箱授权码
    properties:
      mail:
        smtp:
          auth: true
          ssl:
            enable: true
            socketFactory:
              class: com.sun.mail.util.MailSSLSocketFactory
              fallback: false

在pom.xml中加入mail发送的依赖

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
		</dependency>
@RestController
@RequestMapping("/mail")
public class MailController {
    @Autowired
    JavaMailSender jms;

    @Autowired
    MailConfig mailConfig;

    @PostMapping(value = "/send")
    public JsonResult<String> postMail(@RequestBody MailDto mailDto) {
        try {
            SimpleMailMessage message = new SimpleMailMessage();
            message.setFrom(mailConfig.getUserEmail());
            message.setTo(mailDto.getTo()); //收件人邮箱地址
            message.setSubject(mailDto.getSubject());
            message.setText(mailDto.getText());
            jms.send(message);
        } catch (Exception e) {
            throw new MessageException(e.getMessage());
        }
        return JsonResult.success("success");
    }
    
}

完成以上步骤就可以发送报文进行测试了。可以使用Postman等工具向接口发送测试请求。如下:

POST :
http://localhost:8080/mailsender/mail/send
{
	"to":"[email protected]",
	"subject": "好久不见",
	"text":"好久不见了,你还好么?顺便问一下,想我了么"
}

猜你喜欢

转载自blog.csdn.net/forgetmiss/article/details/104600829