1. 在腾讯云中配置需要的服务
  2. 申请签名和短信模板
  3. 创建应用
  4. 在项目application.yml中配置相关参数
  5. 在项目中安装腾讯云短信服务的依赖包
    <!--腾讯云--><dependency><groupId>com.github.qcloudsms</groupId><artifactId>qcloudsms</artifactId><version>1.0.6</version></dependency>
  6. 创建SmsConstantUtil工具类来获取配置文件中的参数
    import org.springframework.beans.factory.InitializingBean;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.PropertySource;
    import org.springframework.stereotype.Component;/*
    *腾讯云短信服务 */
    @Component
    @PropertySource("classpath:application.yml")
    public class SmsConstantUtil implements InitializingBean {@Value("${tencent.appid}")private Integer APPID;@Value("${tencent.appkey}")private String APPKEY;@Value("${tencent.templateId}")private Integer TEMPLATEID;@Value("${tencent.signname}")private String SIGNNAME;public static Integer APP_ID;public static String APP_KEY;public static Integer TEMPLATE_ID;public static String SIGN_NAME;@Overridepublic void afterPropertiesSet() throws Exception {APP_ID = APPID;APP_KEY = APPKEY;TEMPLATE_ID = TEMPLATEID;SIGN_NAME = SIGNNAME;}
    }
    
  7. 创建service和实现类来实现相应功能
    ps:这里对所需要的参数进行了封装

    @Data
    @Component
    public class SmsCodeVo {private String phone;private String code;
    }

    SmsService:

    public interface SmsService {Result sendCode(SmsCodeVo smsCodeVo);
    }

    SmsServiceImpl:

    @Service
    public class SmsServiceImpl implements SmsService {@AutowiredSmsCodeVo smsCodeVo;@AutowiredRedisTemplate<String, String> redisTemplate;@Overridepublic Result sendCode(SmsCodeVo smsCodeVo) {
    //    获取配置信息Integer appId = SmsConstantUtil.APP_ID;String appKey = SmsConstantUtil.APP_KEY;Integer templateId = SmsConstantUtil.TEMPLATE_ID;String signName = SmsConstantUtil.SIGN_NAME;if (StringUtils.isBlank(smsCodeVo.getPhone())){return Result.error(ErrorCode.PARAMS_NULL.getCode(),ErrorCode.PARAMS_NULL.getMsg());}
    //    获取手机号String phone = smsCodeVo.getPhone();
    //    生成验证码String verifyCode = vcode();smsCodeVo.setCode(verifyCode);
    //    存入redisredisTemplate.opsForValue().set(phone,verifyCode.replaceAll("[[\\s-:punct:]]", ""), 300, TimeUnit.SECONDS);try{String[] params = {smsCodeVo.getCode()}; //短信中的参数SmsSingleSender ssender = new SmsSingleSender(appId, appKey);SmsSingleSenderResult result = ssender.sendWithParam("86", smsCodeVo.getPhone(), templateId,params, signName, "", "");
    //      打印返回结果System.out.println(result);if (result.result == 0){return  Result.success(200,"发送成功");}if (result.result == 1025){return Result.error(1025,"验证码已经发上限制!!!,请稍后再试");}} catch (HTTPException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return Result.error(400,"发送失败");}/*** 生成6位随机短信验证码*/public static String vcode(){String vcode = "";for (int i = 0;i <6;i++){vcode = vcode + (int) (Math.random()*9);}return vcode;}}
  8. 在控制器controller中实现调用功能
    @RestController
    @Controller
    @Api(tags = "短信模块")
    @CrossOrigin
    public class SmsController {@AutowiredSmsService smsService;@PostMapping("/sendCode")@ApiOperation(value = "发送短信验证码")public Result sendCode(@RequestBody SmsCodeVo smsCodeVo){return smsService.sendCode(smsCodeVo);}}
    
  9. 启动项目,测试功能
  10. 手机接收如下:

基于SpringBoot+腾讯云短信服务实现接收手机验证码功能相关推荐

  1. 使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题

    使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题 参考文章: (1)使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题 (2)https://www.cnblog ...

  2. 腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现)

    文章目录 腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现) 1.打开腾讯云短信服务 2.创建短信签名 3.创建短信正文模板 4.等待全部审核完毕即可 5.发送短信 ...

  3. SpringBoot工程接入腾讯云短信服务平台

    由于业务需要,需要使用第三方短信平台,进行验证码的发送.网上的短信服务平台主要由:百度.腾讯.阿里云:采用官方提供的SDK,调用接口即可. 腾讯云短信服务平台和阿里云短信服务平台,一般步骤为:注册-- ...

  4. 基于Spring使用腾讯云短信服务

    基于Spring使用腾讯云短信服务 没有特殊要求的话按照官网的SDK,导入依赖,使用SDK里的代码删除自己不要的就可以了. https://cloud.tencent.com/document/pro ...

  5. Springboot+Redis接入腾讯云短信服务实现验证码发送

    目录 一.开通腾讯云短信服务 二.代码实现 三.测试 申请阿里云短信服务需要以上线APP或已备案网站,腾讯云短信服务可以使用微信公众号申请,注册个人微信公众号比较方便,改用腾讯云短信服务,参考官方SD ...

  6. 接入腾讯云短信服务(史上最详细+该短信服务如何申请成功+发送短信验证码API讲解+相关错误分析)

    2021/8/17/23:01{2021/8/17/23:01}2021/8/17/23:01 文章目录 前言 一.如何成功申请到腾讯云短信服务 1.签名申请 2.正文模板申请 二.发送短信API开发 ...

  7. SpringBoot整合阿里云短信服务详细过程(保证初学者也能实现)

    前言 网上关于实操性的文章普遍大部分都记录不全,要么只记录重点部分,对于刚学习的小伙伴来说看起来是比较困难的 所以,基于这一点. 该文章会详细介绍使用SpringBoot整合阿里云短信服务的每一步过程 ...

  8. SpringBoot腾讯云短信实现验证码

    SpringBoot腾讯云短信实现验证码 在学习过程中偶然遇见需要实现验证码功能的需求,于是寻思着将功能抽取出来用于分享学习 业务功能:实现验证码60s,且要求防止用户高频刷验证码(即1min一次不多 ...

  9. 腾讯云短信服务发送验证码

    腾讯云短信服务发送验证码 1.前言 2.进入短信服务控制台 3.创建签名 4.创建模板 5.短信-应用管理-应用列表 6.创建密钥 7.SpringBoot实现短信验证码发送 7.1 引入依赖 7.2 ...

最新文章

  1. 对标Bert?刷屏的GPT 2.0意味着什么
  2. List中remove()方法的陷阱,被坑惨了!
  3. Enterprise Architect
  4. boost::container实现显式实例map的测试程序
  5. 实现生成小学四则运算练习题
  6. React开发(215):React中的Fragments的动机
  7. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 26丨广告效果【难度简单】​
  8. 快讯:2018 OOW Oracle技术大会PPT抢鲜下载
  9. 从操作系统内核看设计模式--linux内核的facade模式
  10. Oracle误操作--被提交后的数据回退(闪回)
  11. php怎么代表不同行,php – 单击按钮时显示数据库的不同行
  12. 比大小 log_2^3 与 log_3^5
  13. jquery常用遍历方法
  14. 销量之王,去年程序员最爱看的技术书就是它
  15. ListView与Adapter笔记:ZrcListView
  16. docker(4):coreos+docker+rancher真厉害
  17. 计算机上未检测到u盾,u盾检测不到-电脑上检测不到我的U盾怎么办? 爱问知识人...
  18. 前端三大主流框架如何去选择?
  19. 基于python的第三方库Pyautogui实现程序自动控制鼠标与键盘
  20. vue中.lazy 相当于change事件

热门文章

  1. 劳动力管理 v4.4.0
  2. 【软考】电子商务的分类 - 中级电子商务设计师考点分析
  3. html语言入门百度,【初学Html】百度的界面Html
  4. 4米乘以12米CAD图_教你如何绘制好施工现场总平面布置图
  5. VS 无签名UTF-8和带签名UTF-8格式
  6. 【知识图谱论文】使用强化学习对时间知识图中的路径进行多跳推理
  7. vue中使用js进行AES加密及解密(含密钥和iv偏移量)、以及HMAC-SHA256加密方法对于签名加密的使用
  8. 【VMWare】xp 虚拟机安装用友U872
  9. 服务器和网站备案号,什么是云服务器备案号
  10. 名词解释第七十八讲:加仓