本人个人博客地址https://www.lightingsui.com

介绍

最近由于项目的业务需要,想使用验证码登录系统,所以要找一个短信平台,第一目标就是阿里云的短信服务平台,说实话,之前在阿里云买过很多东西了,例如云ECS服务器、云mysql、SSL证书、域名,那就再次为阿里云做出点贡献吧,我的钱不是通过淘宝送给马云的!!!

这里我直接给出阿里云短信服务的地址:https://www.aliyun.com/product/sms?utm_content=se_1003099122

开通我就不说了,我先来说一下费用的问题,刚开始我就在费用这犹豫了,并不了解阿里云短信服务的收费机制,以为要先购买,所以拉倒底部发现购买只能购买套餐,但是我们的使用量小,不想购买套餐,想使用按条收费的。

所以刚开始我都打算放弃阿里云了,强制用户购买套餐?其实并不是,阿里云是这么收费的,可以不购买套餐,只需直接使用就可以了,根据你当月发送了多少条,月底进行收费,但是在你的阿里云账户里需要有余额(为了防止你月底不清账吗,所以先让你存点),所以充好钱等着自动扣费就行了。乖乖等着吧!

收费是有阶梯制度的,发送的短信数量越多是越便宜的。阿里云这有好几种短信类型:验证码短信、短信通知、推广短信、还有港澳台的,常用的也就是前三个吧,我是用的就是验证类短信。就是专门发验证码的短信通知。

使用详情

使用阿里云短信服务需要以下几个步骤

  1. 申请AccessKey和AccessKey Secret。
  2. 注册签名。
  3. 注册模板。
  4. 代码使用

1、AccessKey和AccessKey Secret

这个AccessKey和AccessKey Secret是什么呢,其实就是账号密码,咱们登录阿里云官网的账号和密码并不能在代码中使用,在代码中想要登录阿里云就需要使用AccessKey和AccessKey Secret了,它和密码同等重要,所以不要告诉别人。AccessKey就相当于阿里云账号,AccessKey Secret就是密码,只不过这两个是在代码中的账号与密码,与我们网站登录的账号和密码没什么两样。

没有用过短信服务的应该没有下面的那一条,因为我已经使用了,所以大家自动忽略,看箭头所指的方向,点击去创建AccessKey和AccessKey Secret。

2、签名

签名可能大家都是特别熟悉,但是不是你想的那种签名,这种签名就相当于短信开头的LOGO,例如

【阿里云】就是签名,这个申请完了每次发送短信的时候会自动加上的,不用我们手动去加,添加签名:

这里面需要注意的一点就是在填写这个表的时候,不要加【】,这个系统会自动为我们加的。

审核也是比较快的,大概一个小时左右就能审核完了。

3、模板

模板又是什么呢,模板就是短信的内容,只不过模板中可以指定一些变量,我们使用的时候可以给这些变量赋值,还是挺灵活的呢。

例如我使用了code这个变量,那么这个变量名就一定要记住,一会代码中是要使用的,我们需要用实际的值去替换这个变量。添加完了之后等待审核就可以了。

4、java的应用

阿里的短信服务我是应用web中的,所以我此次以java代码举例,其实阿里为好多种编程语言都配备了使用案例,文档地址:https://help.aliyun.com/product/44282.html?spm=5176.12207334.0.0.7e281cbeln5j0I

当使用maven管理jar包时,需要导入下面的依赖

<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.0.3</version>
</dependency>

先来看代码

import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;import java.util.HashMap;
import java.util.Map;public class SendSms {public static void main(String[] args) throws JsonProcessingException {DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou","accessKeyID", "accessKey Secret");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", "photo_number");request.putQueryParameter("SignName", "Repository");request.putQueryParameter("TemplateCode", "SMS_178766379");Map<String, String> map = new HashMap<String, String>(2);map.put("code", "123321");request.putQueryParameter("TemplateParam", new ObjectMapper().writeValueAsString(map));try {CommonResponse response = client.getCommonResponse(request);System.out.println(response.getData());} catch (ServerException e) {e.printStackTrace();} catch (ClientException e) {e.printStackTrace();}}
}

我们刚才使用的模板为尊敬的用户,您的注册会员动态密码为:${code},请勿泄漏于他人!

此时,就需要将code进行赋值了,putQueryParameter这个api的最后一个参数就是进行参数的赋值,但是接收的是一个json格式的字符串,所以我们先将code作为键(键的名字要和模板中的变量名对应上),变量值作为value放在map中,然后使用jackson将map转化为json字符串。有几个变量就可以将几个变量的名字作为key放在map中。

注意:如果putQueryParameter最后一个参数只是放了普通字符串,那么返回结果中将提示

{"Message":"JSON参数不合法","RequestId":"89BB2BDB-2B91-4B5A-AB0E-67860C8E9C03","Code":"isv.INVALID_JSON_PARAM"}

接下来就是修改accessKey和accessKey secret

将此处的两个换成你刚才申请到的就可以了。cn-hangzhou参数不用动。

第一处就是给哪个手机号发送,填上对应的手机号即可,第二处就是模板的名称。与下图的对应,想用哪个模板就使用哪个编号

Sign 表示的是使用的签名名称,这个名称个人账户只允许申请一个,所以应该好找

接下来执行,手机即可收到短信。

阿里云短信服务的使用方法相关推荐

  1. java阿里云短信服务SDK使用方法

    对于单个发送短信功能而言,首先需要在阿里云平台注册并获取accessKeyId.accessSecret. 在由maven管理的项目中,需要添加依赖,这个只是测试用,如果要给向外发送需要申请签名,申请 ...

  2. SpringBoot-短信验证码-快速入门Demo(含redis)(手把手教你开通阿里云短信服务到写出个最终代码来)

    B站小狂神-此博客的内容就是看了这个视频的总结(博主自己写的哦~并非转载) 视频链接-[狂神说]通俗易懂的阿里云短信业务实战教程(露脸) 您是否还在为别人的项目有短信功能自己的却没有? 您是否还在为自 ...

  3. 阿里云短信服务Java实现

    文章目录 1.阿里云用户权限 2.开通阿里云短信服务 3.帮助文档 4.编写测试代码 真实项目应用 1.阿里云用户权限 阿里云平台有很多业务,用户登录阿里云之后,要想使用业务,必须开通该业务的权限 登 ...

  4. laravel5.4使用Laravel Sms和阿里云短信服务实现短信验证码功能

    laravel 实现短信验证码功能,搜索资料发现比较流行的有两个包: 一个是laravel sms 地址  https://github.com/toplan/laravel-sms 一个是easy ...

  5. 阿里云短信服务(申请与代码)

    目前阿里云短信签名审核更加严格了,如果不通过请转至<腾讯云短信申请与代码>,腾讯云简单易通过 记录申请短信服务签名的坑 短信服务签名申请注意事项: 自2020年12月17日开始,阿里云短信 ...

  6. vue+springboot+阿里云短信服务(集成redis实现验证码登录业务)

    阿里云短信服务-介绍 阿里云短信服务(Short Message Service)是广大企业客户快速触达手机用户所优选使用的通信能力.调用API或用群发助手,即可发送验证码.通知类和营销类短信:国内验 ...

  7. Java常用工具类-发短信(集成阿里云短信服务)

    1.注册阿里账号并开通短信服务 注册阿里账号后,并进行个人或企业实名认证,实名认证后,才能开通短信服务. 界面如下: 2.获取AccessKey 参考获取AccessKey方法 创建成功后,如下图: ...

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

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

  9. SpringBoot实现阿里云短信服务

    阿里云短信服务 了解阿里云用户权限 准备工作 开启子用户 新建一个用户组 创建用户并添加进用户组 开启阿里云短信服务 添加模板 添加签名 编写代码测试 新建项目 导入依赖 编写测试代码 开启redis ...

最新文章

  1. 智能电视验收测试软件,验收测试
  2. 白盒测试工具_别再头疼工作效率低!这些超实用的黑盒、白盒测试方法你都用上了吗?...
  3. 线性代数:第五章 相似矩阵及二次型(1)向量的内积 方阵的特征值与特征向量 相似矩阵
  4. php一句话后门学习(含免杀)
  5. 检测到目标FTP服务可匿名访问
  6. 科技与我:在数字时代成长
  7. 标题在图表上_Excel 2010基础应用:图表的创建与编辑
  8. 解决asp.net 3.5sp1错误
  9. 2022-01-28总结 CSS复合选择器
  10. 华为eNSP BUG——Serial线配置ACL问题
  11. C# 线程安全的单例模式
  12. matlab计算一元四次方程,一元四次方程解法
  13. 如何给word文档添加注释
  14. 斐讯w2换表盘_【斐讯W2智能手表使用感受】表盘|屏幕|GPS|电量_摘要频道_什么值得买...
  15. 在vue3中使用markdown编辑器
  16. Power收集[单调队列+DP]
  17. 自动驾驶仿真软件SCANeR studio(四)scenario模式下脚本
  18. 一阶广义差分模型_广义差分法的eviews软件实现
  19. OLED显示屏I2C接口
  20. C语言实验03_判断语句

热门文章

  1. Python备份Mysql脚本_python备份mysql脚本
  2. 收藏一个快要消亡的技术古董
  3. \int_0^{+\infty} \frac{\sin x}{x}\mathop{}\!\mathrm{d}{x}
  4. 电脑鼠标在右键时一直转圈不显示解决措施
  5. 吴恩达深度学习课程值不值得学?四晚学完的高手给你建议
  6. 【二分】C. Keshi Is Throwing a Party
  7. 鸿合一体机触屏没反应怎么办_电脑一体机触摸屏没反应 触摸屏电脑一体机常见故障解决方法...
  8. css3 3d头像,创意css3头像展示_觉唯设计
  9. 实例:用C#.NET手把手教你做微信公众号开发(12)--带参数二维码裂变推广
  10. springcloud官方文档,中英文双版