Thinkphp5+阿里云SMS短信服务发送验证码
2021-03-13 18:55:41242
1.下载SDK包,当然你也可以去官网下载。
解压后就是文件夹中有四个子文件夹
2.将这个文件夹放入TP5框架中 extend目录中(extend目录用于存放一些第三方类库)
3.代码DEMO
前端:记得引入jQuery
获取验证码
//点击事件
$(".button").click(function(){
var number = $(".number").val();//获取手机号码
//ajax异步发送
$.ajax({
url: url,//请求地址,html页面传过来的
type: "post",
data: {number: "number"},
success:function(res){
//执行完毕之后调用的方法
connsole.log(res);
},
});
});后端处理
isPost()){//和TP3中略有不同IS_POST等方法弃用
$number = input('number');//input助手函数 获取输入数据 支持默认值和过滤
Loader::import('alimsg.api_demo.SmsDemo',EXTEND_PATH);//对应extend目录,路径,如果你对SmsDemo类添加了命名空间可在上面 use 后在此处直接实例化
$code = $this->random();
//得到信息文件并执行.实例化阿里短信类
$msg = new \SmsDemo('L******2','U*****************a');//注意类名前面的 \ 此处写的就是Access key id 和Access key secret
//此配置在sdk包中有相关例子
$res = $msg->sendSms(
//短信签名名称
"*****",//此处填写你在阿里云平台配置的短信签名名称(第二步有说明)
//短信模板code
"SMS_107015125",//此处填写你在阿里云平台配置的短信模板code(第二步有说明)
//短信接收者的手机号码
" $number",
//模板信息
Array(
'number' => $code,//随机变化的
)
);
dump($res);die;
$response = array($res);
}
return $this->fetch('index');
}
//生成所发送的验证码并返回
public function random()
{
$length = 6;
$char = '0123456789';
$code = '';
while(strlen($code) < $length){
//截取字符串长度
$code .= substr($char,(mt_rand()%strlen($char)),1);
}
return $code;
}
}现在你就可以测试验证码的发送了,在上述代码中我对 $res 进行了打印,你也可以 当出现如下界面表示成功。
