调用发送短信代码

1、此处:String template = “SMS_22*****05”;这里修改为你自己的短信模板

/*** 发送手机短信*/@Autowiredprivate SendSmsImpl sendSms;@CrossOrigin@PostMapping("/aliyun")@ApiOperation(value = "发送阿里云短信验证码",response = R.class)public R aliyun(@Validated RequestAliyunNoteEntity requestAliyunNoteEntity) {//获取手机号,发送短信验证码String account = requestAliyunNoteEntity.getAccount();//code模板String template = "SMS_22*****05";//随机获取验证码-6位HashMap<String, Object> mp = new HashMap<>();StringBuilder sb = new StringBuilder();Random random = new Random();for(int i=0;i<6;i++){sb.append(random.nextInt(10));}mp.put("code",sb);//如果发送代码成功!那么就存储(替换)验证码到数据库boolean send = sendSms.send(account, template, mp);if(send){Boolean aBoolean = clientCodeService.saveNote(account, sb.toString());if(aBoolean){return R.ok();}else{return R.error("出现了点意外!");}}else{return R.error("刚刚发生了什么事儿?");}}

二、发送短信的主要代码

/*** @author LunarYouI* @create 2021-06-15 10:56** 传入手机号、模板code、验证码*/
public interface SendSms {boolean send(String phoneNum, String templateCode, Map<String,Object> code);
}

1、此处:DefaultProfile profile = DefaultProfile.getProfile(“cn-hangzhou”, “参数2”, “参数3”); 需要将2、3参数修改为自己的accessKeyIdsecret
2、此处:request.putQueryParameter(“SignName”, “参数2”);参数2需要修为自己的签名名称,否则不可用

/*** @author LunarYouI* @create 2021-06-15 10:59*/
@Service
public class SendSmsImpl implements SendSms{@Overridepublic boolean send(String phoneNum, String CODE, Map<String, Object> code) {//链接阿里云DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "####5tNzdq3Gw8Wh########", "####qRNeKwUrEQjsAwIbIb########");//构建成客户端IAcsClient client = new DefaultAcsClient(profile);//构建请求CommonRequest request = new CommonRequest();request.setMethod(MethodType.POST);request.setDomain("dysmsapi.aliyuncs.com");request.setVersion("2017-05-25");request.setAction("SendSms");//自定义的参数(手机号、验证码、签名、模板)request.putQueryParameter("RegionId", "cn-hangzhou");request.putQueryParameter("PhoneNumbers", phoneNum);//手机号码request.putQueryParameter("SignName", "自行修改");//签名名称request.putQueryParameter("TemplateCode", CODE);//模板的code//构建一个短信验证码request.putQueryParameter("TemplateParam", JSONObject.toJSONString(code));try {CommonResponse response = client.getCommonResponse(request);System.out.println(response.getData());//成功就返回true【response.getHttpResponse().isSuccess()里面默认就带了布尔值】return response.getHttpResponse().isSuccess();} catch (ServerException e) {e.printStackTrace();} catch (ClientException e) {e.printStackTrace();}return false;}
}

最终效果图:

JAVA 实现阿里云的短信验证码相关推荐

  1. 使用阿里云发送短信验证码

    目录 一.用户注册登录流程 二.使用阿里云发送短信验证码 ⭐生成密钥 ⭐将密钥配置到项目中 ⚪新建properties文件并填入相应信息 ⚪pom配置 ​⚪ 测试代码 ⚪添加签名 ​⚪添加短信发送的模 ...

  2. 使用阿里云发送短信验证码(JAVA实现)

    文章目录 准备工作 完成阿里云认证 生成秘钥 申请签名和模板 编写代码 需要引入的JAR包依赖 代码 充钱 准备工作 我们首先登陆阿里云 https://www.aliyun.com 完成阿里云认证 ...

  3. Java 对接 阿里云 的短信服务完成短信的发送与查询

    一.开通阿里云短信服务,为开发时需要用到的信息做准备 1.注册或者使用自己的支付宝账号登录阿里云官网 2.搜索并找到短信服务,进行开通(开通是不要钱的,发送短信的时候才需要钱) 3.注册自己的短信签名 ...

  4. Java实现阿里云发短信功能

    一 点睛 1 阿里云短信开发文档 https://helpcdn.aliyun.com/document_detail/55284.html 2 阿里云AK申请 https://usercenter. ...

  5. 新版阿里云发送短信验证码详解

    关与作者更多博客请访问云里云外开源社区 一.申请短信服务步骤 首先进入阿里云控制台,点击左侧产品与服务,找到短信服务. 第一次进入会有新手引导,这里主要介绍一下大致步骤和易错点 申请短信签名和模板 短 ...

  6. java版阿里云发送短信

    1.添加依赖 <dependency><groupId>com.aliyun</groupId><artifactId>dysmsapi20170525 ...

  7. 调用阿里云发送短信验证码的工具类

    /*** @Description 阿里云短信发送工具类* @Author 曰业而安*/ public class SendSmsUtil { //phone 手机号 //param 验证码 注意这里 ...

  8. java中阿里云实现短信推送(亲测可用)

    第一步先导入阿里云jar包 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-ja ...

  9. java调用阿里云实现短信推送

    1.注册阿里云并开通短信推送功能 2.创建密匙对,该密匙对是访问阿里SDK的钥匙 3.创建主题和订阅(也可以选择使用默认的)并获取endpoint 4.下载最新的SDK 5.新建java项目,把sdk ...

  10. 阿里云的短信验证码(详细)

    官方流程图 如何发送一条短信 为了成功发送一条短信通知,您至少需要完成以下步骤 (刚需) 一.在控制台完成短信签名与短信模版的申请,获得调用接口必备的参数 在"短信签名"页面完成签 ...

最新文章

  1. Dagger2的使用
  2. 如何使用T-SQL临时禁用外键约束?
  3. php 安装curl init,linux下为php添加curl扩展的方法及curl_init函数用法案例详解
  4. 大道至简_阅读笔记02
  5. python web-Web开发
  6. 把一张的数据添加到另一张中
  7. Dubbo 入门介绍
  8. SwiftUI之深入解析如何定制视图的动画和转场
  9. 牛人自制电灯泡,20000W,结果“亮”了
  10. 如何通过提问成为更好的开发人员
  11. python采用函数编程模式_浅谈Python 函数式编程
  12. Node.js下载安装及各种npm、cnpm、nvm、nrm配置(保姆式教程—提供全套安装包)—nrm的安装与配置(5)
  13. bzoj2440:[中山市选2011]完全平方数
  14. linux默认网关地址,linux shell 获取默认网关地址
  15. ECS服务器下挂载数据盘
  16. Javascript: 前端JS生成验证码
  17. Mybatis原理解析(四)--查询流程
  18. 自学-Linux-老男孩Linux77期-day4
  19. unity物体移动的几种常用方式
  20. 巧用CHKDSK命令修复U盘文件或目录损坏问题

热门文章

  1. Windows打开dcm文件、dcm文件批量转其它图片文件格式
  2. 微型计算机中NOP指令,PLC指令表
  3. php四段拼接ip,合并相同的ip段算法
  4. Vue项目:电商后台管理管理系统
  5. 【c语言】两个栈实现一个队列
  6. 【javaEE】——synchronized使用和单例模式(线程安全)03
  7. 本地上传文件到服务器
  8. 【游戏开发实战】重温红白机经典FC游戏,顺便教你快速搭建2D游戏关卡(Tilemap | 场景 | 地图)
  9. Node.js文字与图片合成
  10. 解读基于数加的大数据仓库解决方案