栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot实现邮箱发送验证码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot实现邮箱发送验证码

学习目标:

上一篇文章用到了阿里云的短信服务这个服务是需要付费且个人用户不容易申请,还有没有其他能收到验证码并且免费的,然后我就想到了QQ邮箱接收信息,


准备工作:
  1. 设置在授权码(QQ邮箱->设置->账户 找到【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务】,点击【生成授权码】)

开始编码:

第一步导入依赖

       
            org.springframework.boot
            spring-boot-starter-mail
        

在yml文件配置

 #配置邮件消息
 spring:
   mail:
     host: smtp.qq.com   //指定用来发送Email的邮件服务名
     username:          //设置用户名(QQ邮箱全名)
     password:  		//生成授权码
     default-encoding: UTF-8

编写实现发送代码

package com.example.shiro.sys.controller;

import com.example.shiro.sys.common.Result.R;
import com.example.shiro.sys.service.MsgSendService;
import com.example.shiro.sys.utlis.RedisUtil;
import com.example.shiro.sys.utlis.smsSend.RandomUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.mail.internet.MimeMessage;


@RestController
@RequestMapping("/sys/send")
@RequiredArgsConstructor
public class MsgSendController {
    private final JavaMailSender mailSender; //注入QQ发送邮件的bean
    
    @GetMapping("/qqMsgSend")
    public R qqMsgSend(String qq,String msg){
        try {
            MimeMessage mimeMessage = this.mailSender.createMimeMessage();
            MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
            message.setFrom("设置发件qq邮箱");//设置发件qq邮箱
            qq+="@qq.com";
            message.setTo(qq);	//设置收件人
            message.setSubject("验证码");	//设置标题
            message.setText(msg);  	//第二个参数true表示使用HTML语言来编写邮件
            this.mailSender.send(mimeMessage);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return R.ok();
    }
}

最后也是获取到了,我测试用的是swagger-ui

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/845346.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号