JAVA 实现阿里云的短信验证码
调用发送短信代码
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参数修改为自己的accessKeyId和secret
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 实现阿里云的短信验证码相关推荐
- 使用阿里云发送短信验证码
目录 一.用户注册登录流程 二.使用阿里云发送短信验证码 ⭐生成密钥 ⭐将密钥配置到项目中 ⚪新建properties文件并填入相应信息 ⚪pom配置 ⚪ 测试代码 ⚪添加签名 ⚪添加短信发送的模 ...
- 使用阿里云发送短信验证码(JAVA实现)
文章目录 准备工作 完成阿里云认证 生成秘钥 申请签名和模板 编写代码 需要引入的JAR包依赖 代码 充钱 准备工作 我们首先登陆阿里云 https://www.aliyun.com 完成阿里云认证 ...
- Java 对接 阿里云 的短信服务完成短信的发送与查询
一.开通阿里云短信服务,为开发时需要用到的信息做准备 1.注册或者使用自己的支付宝账号登录阿里云官网 2.搜索并找到短信服务,进行开通(开通是不要钱的,发送短信的时候才需要钱) 3.注册自己的短信签名 ...
- Java实现阿里云发短信功能
一 点睛 1 阿里云短信开发文档 https://helpcdn.aliyun.com/document_detail/55284.html 2 阿里云AK申请 https://usercenter. ...
- 新版阿里云发送短信验证码详解
关与作者更多博客请访问云里云外开源社区 一.申请短信服务步骤 首先进入阿里云控制台,点击左侧产品与服务,找到短信服务. 第一次进入会有新手引导,这里主要介绍一下大致步骤和易错点 申请短信签名和模板 短 ...
- java版阿里云发送短信
1.添加依赖 <dependency><groupId>com.aliyun</groupId><artifactId>dysmsapi20170525 ...
- 调用阿里云发送短信验证码的工具类
/*** @Description 阿里云短信发送工具类* @Author 曰业而安*/ public class SendSmsUtil { //phone 手机号 //param 验证码 注意这里 ...
- java中阿里云实现短信推送(亲测可用)
第一步先导入阿里云jar包 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-ja ...
- java调用阿里云实现短信推送
1.注册阿里云并开通短信推送功能 2.创建密匙对,该密匙对是访问阿里SDK的钥匙 3.创建主题和订阅(也可以选择使用默认的)并获取endpoint 4.下载最新的SDK 5.新建java项目,把sdk ...
- 阿里云的短信验证码(详细)
官方流程图 如何发送一条短信 为了成功发送一条短信通知,您至少需要完成以下步骤 (刚需) 一.在控制台完成短信签名与短信模版的申请,获得调用接口必备的参数 在"短信签名"页面完成签 ...
最新文章
- Dagger2的使用
- 如何使用T-SQL临时禁用外键约束?
- php 安装curl init,linux下为php添加curl扩展的方法及curl_init函数用法案例详解
- 大道至简_阅读笔记02
- python web-Web开发
- 把一张的数据添加到另一张中
- Dubbo 入门介绍
- SwiftUI之深入解析如何定制视图的动画和转场
- 牛人自制电灯泡,20000W,结果“亮”了
- 如何通过提问成为更好的开发人员
- python采用函数编程模式_浅谈Python 函数式编程
- Node.js下载安装及各种npm、cnpm、nvm、nrm配置(保姆式教程—提供全套安装包)—nrm的安装与配置(5)
- bzoj2440:[中山市选2011]完全平方数
- linux默认网关地址,linux shell 获取默认网关地址
- ECS服务器下挂载数据盘
- Javascript: 前端JS生成验证码
- Mybatis原理解析(四)--查询流程
- 自学-Linux-老男孩Linux77期-day4
- unity物体移动的几种常用方式
- 巧用CHKDSK命令修复U盘文件或目录损坏问题