关于调用阿里巴巴短信服务发送短信验证的接口的方法:
用户的注册

1.首先我们需要在阿里大于(www.alidayu.com)注册一个账号登录

  1. 点击进入控制台

  2. 点击使用短信服务

  3. 然后需要你申请签名和模板,目前阿里大于已经不让个人用户申请,可以通过自己公司的名义申请,然后选择一份需要发送短信验证码的格式

短信接口的下载

  1. 从阿里云通信官网上下载Demo工程

  2. 将工程解压后把这两个jar包安装到自己的本地仓库

  3. 安装好后把两个依赖引入

  4. 最后我们要把这个文件夹导入我们的编译工具就可以使用了

使用官方给的接口调用短信服务

  1. 下面开始使用这个SmsDemo
public class SmsDemo {//产品名称:云通信短信API产品,开发者无需替换static final String product = "Dysmsapi";//产品域名,开发者无需替换static final String domain = "dysmsapi.aliyuncs.com";// TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)static final String accessKeyId = "yourAccessKeyId";static final String accessKeySecret = "yourAccessKeySecret";public static SendSmsResponse sendSms() throws ClientException {//可自助调整超时时间System.setProperty("sun.net.client.defaultConnectTimeout", "10000");System.setProperty("sun.net.client.defaultReadTimeout", "10000");//初始化acsClient,暂不支持region化IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);IAcsClient acsClient = new DefaultAcsClient(profile);//组装请求对象-具体描述见控制台-文档部分内容SendSmsRequest request = new SendSmsRequest();//必填:待发送手机号request.setPhoneNumbers("待发送手机号");//必填:短信签名-可在短信控制台中找到request.setSignName("公司名称");//必填:短信模板-可在短信控制台中找到request.setTemplateCode("SMS_1000000");//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为request.setTemplateParam("{\"name\":\"Tom\", \"code\":\"123\"}");//选填-上行短信扩展码(无特殊需求用户请忽略此字段)//request.setSmsUpExtendCode("验证码");//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者request.setOutId("yourOutId");//hint 此处可能会抛出异常,注意catchSendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);return sendSmsResponse;}public static QuerySendDetailsResponse querySendDetails(String bizId) throws ClientException {//可自助调整超时时间System.setProperty("sun.net.client.defaultConnectTimeout", "10000");System.setProperty("sun.net.client.defaultReadTimeout", "10000");//初始化acsClient,暂不支持region化IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);IAcsClient acsClient = new DefaultAcsClient(profile);//组装请求对象QuerySendDetailsRequest request = new QuerySendDetailsRequest();//必填-号码request.setPhoneNumber("15000000000");//可选-流水号request.setBizId(bizId);//必填-发送日期 支持30天内记录查询,格式yyyyMMddSimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd");request.setSendDate(ft.format(new Date()));//必填-页大小request.setPageSize(10L);//必填-当前页码从1开始计数request.setCurrentPage(1L);//hint 此处可能会抛出异常,注意catchQuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request);return querySendDetailsResponse;}public static void main(String[] args) throws ClientException, InterruptedException {//发短信SendSmsResponse response = sendSms();System.out.println("短信接口返回的数据----------------");System.out.println("Code=" + response.getCode());System.out.println("Message=" + response.getMessage());System.out.println("RequestId=" + response.getRequestId());System.out.println("BizId=" + response.getBizId());Thread.sleep(3000L);//查明细if(response.getCode() != null && response.getCode().equals("OK")) {QuerySendDetailsResponse querySendDetailsResponse = querySendDetails(response.getBizId());System.out.println("短信明细查询接口返回数据----------------");System.out.println("Code=" + querySendDetailsResponse.getCode());System.out.println("Message=" + querySendDetailsResponse.getMessage());int i = 0;for(QuerySendDetailsResponse.SmsSendDetailDTO smsSendDetailDTO : querySendDetailsResponse.getSmsSendDetailDTOs()){System.out.println("SmsSendDetailDTO["+i+"]:");System.out.println("Content=" + smsSendDetailDTO.getContent());System.out.println("ErrCode=" + smsSendDetailDTO.getErrCode());System.out.println("OutId=" + smsSendDetailDTO.getOutId());System.out.println("PhoneNum=" + smsSendDetailDTO.getPhoneNum());System.out.println("ReceiveDate=" + smsSendDetailDTO.getReceiveDate());System.out.println("SendDate=" + smsSendDetailDTO.getSendDate());System.out.println("SendStatus=" + smsSendDetailDTO.getSendStatus());System.out.println("Template=" + smsSendDetailDTO.getTemplateCode());}System.out.println("TotalCount=" + querySendDetailsResponse.getTotalCount());System.out.println("RequestId=" + querySendDetailsResponse.getRequestId());}}
}

需要修改的地方就是只有五个:

1.必填:待发送手机号:此处填写需要发送短信的手机号码
request.setPhoneNumbers(“待发送手机号”);

2.必填:短信签名,填写你在阿里大于上面注册好的公司名称,以哪个公司名义发送
request.setSignName(“公司名称”);

3.必填:短信模板-可在短信控制台中找到,选择你定义的短信模板
request.setTemplateCode(“SMS_1000000”);

4./可选:模板中的变量替换JSON串,如模板内容为"亲爱的name,您的验证码为{name},您的验证码为name,您的验证码为{code}“时,此处的值为
request.setTemplateParam(”{“name”:“Tom”, “code”:“123”}");

5.选填:写上需要的短信验证码
request.setSmsUpExtendCode(“验证码”);

总结
这只是如何使用短信验证码发送的方法,具体还是要在你项目中去实现,将它部署成为一个短信微服务,通过前端发送短信去调用这个微服务,具体手机号码还是由前端用户输入传过来,具体业务逻辑具体实现,仅供入门参考!

如何使用阿里巴巴短信服务发送短信验证码相关推荐

  1. 使用阿里云的短信服务发送短信

    原文地址使用阿里云的短信服务发送短信 在给客户开发一个信息发送功能的时候,需要涉及到短信的发送,短信发送一般不同的厂商提供的接口不同,处理方式也不太一样,之前用的一个厂商的,提供了一个封装类就很容易发 ...

  2. 【微服务集成阿里SMS短信服务发送短信】

    发送短信项目中很多地方都在使用,所以集成一个单独的服务,如果某个服务需要发送短信只需要依赖短信服务即可. 1.开通阿里SMS短信,创建模板 (省略) 2.创建短信服务 common-server-sm ...

  3. 使用阿里云提供的短信服务发送短信(个人版)

    本人最近需要实现一个注册发短信验证码的功能,找了几家短信服务平台,如腾讯云,云片网等,发现他们都没有提供给用户个人的短信服务权限,申请短信签名等都需要有企业等相关证明,最后找到了阿里云的短信服务平台, ...

  4. 阿里云 短信服务——发送短信验证码图文教程

    阿里云短信服务 前言 配置阿里云短信服务 准备工作 1.获取Accesskey 1.2创建子账号 1.2为刚创建的用户分配短信服务的权限 2.1申请签名 2.2申请模板 2.3由于目前还没有使用到系统 ...

  5. 用阿里云短信服务--发送短信demo

    一. AccessKey管理 内容包括:开启子用户AccessKey,创建用户组,给用户组添加sms短信服务权限,创建用户,添加用户到用户组中. 详细操作: 登录阿里云,点击控制台右上角的头像,点击A ...

  6. 2021最新 使用阿里云的短信服务发送短信

    在给客户开发一个信息发送功能的时候,需要涉及到短信的发送,短信发送一般不同的厂商提供的接口不同,处理方式也不太一样,之前用的一个厂商的,提供了一个封装类就很容易发送短息,因此都是基于HTTP协议做的一 ...

  7. 阿里云短信服务 发送短信验证码 区分业务场景

    总结: 配置好阿里云短信服务API调用所需配置项信息 按业务场景自定义标识码,做到正确发送不同场景的短信验证码 有一点需要特别注意:写这篇文章时,偶然发现阿里云短信服务API,在遇到以数字0开头的随机 ...

  8. 【无标题】使用阿里云短信服务发送短信

    在给客户开发一个信息发送功能的时候,需要涉及到短信的发送,短信发送一般不同的厂商提供的接口不同,处理方式也不太一样,之前用的一个厂商的,提供了一个封装类就很容易发送短息,因此都是基于HTTP协议做的一 ...

  9. 【使用腾讯云短信服务发送短信】

    有账号直接登录腾讯云,没有账号注册之后登录 搜索短信,点击进入短信控制台 点击免费使用进入控制台,按照概览中的流程操作 创建短信签名,腾讯云支持使用个人公众号创建短信签名,而且有免费条数可以使用,信息 ...

最新文章

  1. C++静态成员函数小结
  2. Deep Learning(深度学习)学习笔记整理系列之(八)
  3. Ansible script模块使用示例
  4. win10 安装selenium和使用
  5. php mysql实现每日签到积分_php+mysql+jquery实现日历签到功能
  6. linux在芯片设计与实现,基于Linux的Atheros无线芯片网卡驱动的设计与实现
  7. 编程之美3——N!末尾有多少个0
  8. mysql timdir_MYSQL学习笔记——数据类型
  9. 3种方法实现http虚拟主机
  10. java教程win7 64位_win7系统安装64位JAVA的方法
  11. 陈桥五笔用户编号怎么获取_从五笔转向双拼输入法
  12. Yedda Twitter C# Library
  13. [嵌入式]A/D转换器
  14. C语言输入一个三位数将它反向输出,输入一个三位数,将它反向输出,编程
  15. 查看Oracle执行计划的几种常用方法-系列1
  16. IOS开发 当滑动tabelview时,使键盘滑落
  17. 计算机组装前需要的准备工作,手把手教你攒电脑:组装电脑全过程
  18. Python中用Matplotlib做多个纵轴(多y轴)
  19. BUGKU_WEB_never give up
  20. 什么是特征点、特征描述、特征匹配

热门文章

  1. Mask R-CNN全文翻译
  2. NXP JN5169 UART波特率问题
  3. python 分词包_python调用hanlp分词包手记
  4. 将边缘云装进胶囊数据中心需要几步?
  5. 计算机二级c语言考上机考试吗,计算机二级c语言上机考试操作步骤及流程
  6. 动态 V2 基础配置命令
  7. 德鲁克日志读后感之八十八
  8. Concat和Add操作
  9. 微信小程序,输入时键盘弹起,聊天输入框自动弹起,内容不顶起
  10. UVa 1471 Defense Lines (解释紫书思路)