thinkphp5+阿里短信发送验证码

时间:2024-05-20 07:05:58

一、申请阿里短信接口,开通服务,申请AccessKey ID和Access Key Secret
thinkphp5+阿里短信发送验证码
二、申请短信发送模板
thinkphp5+阿里短信发送验证码
三、在thinkphp5中的config文件中添加一下配置

//短信配置
    'SMS_CONFIG'    =>  array(
        "sign"              =>      '萌呆呆', //审核通过的签名
        "key"               =>      'LTAI2UzMicjqIxKt', //阿里云生成的 accessKeyId
        "secret"            =>      '**************************', // 阿里云生成的 accessKeySecret
    ),

四、,在extend目录下创建alidayu文件夹将下载的sdk放到alidayu文件夹
thinkphp5+阿里短信发送验证码
五、在控制器层引入文件并创建短信发送方法

 //用户注册时发送验证码
    public function sendphone()
    {
        $code = rand(100000, 999900); //随机6位数的验证码
        $param = array('code' => $code);
        $mobile = input('phoneNum'); //手机号
        $smscode = '**************'; //短信模板ID
        $res = $this->sendSms($mobile, $smscode, $param);
        if ($res) {
            session('mobileCode',$code);
            $msg=['status'=>0,'msg'=>'发送成功'];
            return json($msg);
        } else {
            $msg=['status'=>1,'msg'=>'发送失败'];
            return json($msg);
        }
    }

六、前端获取手机号

<input type="botton"  id="btn" onclick="sendChangePhone();" class="sms-btn" value="获取验证码">
//js代码
//发送手机验证码
function sendChangePhone(){
    var obj = $("input[name='mobile_phone']");
    phoneNum = obj.val();
    $.ajax({
        type: 'POST',
        dataType:'json',
        url: phone_url,
        data: {phoneNum:phoneNum},
        success: function(data){
            $("#btn").val(data.msg);
        }
    });
}

七、注意事项
同一个签名,对同一个手机号的发送频率
1分钟内短信发送条数不超过:1
1小时内短信发送条数不超过:5
1个自然日内短信发送条数不超过:10