“短信发送”功能在企业应用系统开发中应该说算是很常见的了,典型的案例 如 “用户登录时可以通过手机号接收平台发送的验证码进行登录”、“用户通过手机号接收平台发送的短信验证码从而找回密码”、“双重验证用户身份时需要用手机号接收平台发送的验证码已确认用户身份”等等都是比较常见的,本文将基于阿里云SMS短信发送服务 在Java Spring Boot应用系统实现短信发送功能
移动互联网时代,几乎人人都有部智能手机,每天的收、发短信操作想必已成常态,在使用各种APP或者网站应用系统时相比也应该经常都能有所见闻;而作为一名Java开发者,不知诸位在实际项目、实际应用系统中是否有真正地实现过短信发送以及对短信验证码进行验证的功能?今天debug将带大家一起实战落地该功能!
顺带提下,我们将基于Spring Boot2.x进行代码实战,别问为什么哈!作为一名Java开发者,如果都不知道Spring Boot,debug都不知道该怎么说你了!另外,我们将基于阿里云SMS短信发送服务功能,其官网如下所示:短信服务_企业短信营销推广_验证码通知-阿里云 ,可以点击购买或者免费开通,如果人品好的话,估计还真的可以免费开通(免费试用几条);
在这里,debug就假设诸位已经成功开通了阿里云SMS短信发送服务了哈(如果没有开通成功也没关系,收藏下文章吧,以后总有用得着的),OK,话不多说,咱们直接开干!
(1)首先,需要加入阿里云短信SMS服务的SDK,即对于我们Java后端而言,其实就是一个Jar包,如下所示:
<!--阿里云短信服务-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.0</version>
</dependency>
(2)紧接着是进入阿里云短信服务管理控制台,获取AccessKey ID 、AccessKey Secret并创建“短信签名”以及“短信发送模板”,如下图所示:
拿到这些信息之后,接下来需要将这些信息项配置起来,如下所示:
#阿里云sms配置
ali.sms.accessKeyId=这里是你的AccessKey ID
ali.sms.accessSecret=这里是你的AccessKey Secret
ali.sms.regionId=cn-hangzhou
ali.sms.sysDomain=dysmsapi.aliyuncs.com
ali.sms.sysVersion=2017-05-25
ali.sms.sysAction=SendSms
ali.sms.enabled=true
ali.sms.phone.sendCode.bu=申请的短信签名
ali.sms.phone.sendCode.temp=申请的短信模板编码
ali.sms.phone.sendCode.msg=备注信息