SpringBoot集成腾讯云发送短信验证码 | 您所在的位置:网站首页 › 腾讯云短信怎么用手机号 › SpringBoot集成腾讯云发送短信验证码 |
整个短信验证码,我弄了一下午…一下是我的总结,照着步骤走,绝对没问题: 首先,打开腾讯云(先别用阿里云),使用腾讯云的目的是能够与微信公众号进行对接,这样短信的签名和模板审核能够通过,如果使用阿里云,需要有上线的网站或者app,打开以后,搜索短信,打开应用管理 这里需要说明一下,创建新应用是不需要审核的,直接就可以创建: 如果都审核好了,那么可以开始编码了: 首先,老规矩,引入 maven 依赖: com.github.qcloudsms qcloudsms 1.0.2然后,创建实体类对象,存储信息:(这里随便写了,可能不满足规范) 然后定义一个生成随机码的工具类,需要注意的是,短信随机码只能是纯数字,没有字母!!!我这里用的邮箱验证码,结果弄了半天我淦 package com.demo.qcby.util; import java.security.SecureRandom; import java.util.Random; /** * @Classname VerCodeGenerateUtil * @Description 生成验证码工具类 * @Date 2021/9/7 14:23 * @Created by thx */ public class VerCodeGenerateUtil { private static final String SYMBOLS = "0123456789";//ABCDEFGHIGKLMNOPQRSTUVWXYZ private static final Random RANDOM = new SecureRandom(); // 生成 6 位数的随机数字 public static String generateVerCode() { char[] numbers = new char[6]; for (int i = 0; i // 生成 随机验证码 String ver = VerCodeGenerateUtil.generateVerCode(); // 这里对应你的短信模板,如果需要传递两个参数,那么字符串数组应该有两个值 String[] code = new String[]{ver}; //获得 id 和 key SmsSingleSender sender = new SmsSingleSender(smsParameter.getAppId(), smsParameter.getAppKey()); // SmsSingleSenderResult result = sender.sendWithParam("86", phone, smsParameter.getTemplateId(), // code, smsParameter.getSmsSign(), "", "" ); //发送短信,86 指的是国内短信,第二个是模板的 id,第三个是传递的参数,第四个是签名内容,后面两个可以传递空 SmsSingleSenderResult result = sender.sendWithParam("86", phone, smsParameter.getTemplateId(), code, smsParameter.getSmsSign(), "", ""); // 如果 result 的结果是 0,说明发送成功 if (result.result == 0) { return ResultJson.success(code[0]); } else {// 如果结果不是 0,说明出错了,打印错误信息以帮助修改 return ResultJson.failure(result.errMsg, result.sid); } }弄好后,使用 postMan 测试: |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |