php阿里大于短信验证码发送

0.基本配置

百度云链接密码: 3up8
将配置文件放置在vendor目录下

1.接收手机号码

public function send()
    {

        if (request()->isAjax()) {//如果是ajax请求
            $tel = input('telphone');//手机号
            $r = $this->send_sms($tel);

            //结果分析
            $code = object_to_array($r);
            if($code['Code']=='OK')
            {
                echo json_encode([
                    'status' => 1,
                    'message' => '发送成功',
                ]);exit;
            }else{
                echo json_encode([
                    'status' => 0,
                    'message' => '发送失败',
                ]);exit;
            }


        }
    }

2.发送

function send_sms($tel=''){
    $row = []; //阿里大于配置
    Vendor('alidayu.api_sdk.aliyun-php-sdk-core.Config');
    Vendor('alidayu.api_sdk.Dysmsapi.Request.V20170525.SendSmsRequest');
    $tel = input('get.telphone');//手机号
//此处需要替换成自己的AK信息
    $accessKeyId = $row['appkey'];//参考本文档步骤2
    $accessKeySecret = $row['secretkey'];//参考本文档步骤2
//短信API产品名
    $product = "Dysmsapi";
//短信API产品域名
    $domain = "dysmsapi.aliyuncs.com";
//暂时不支持多Region
    $region = "cn-hangzhou";
//初始化访问的acsCleint
    $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
    DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);
    $acsClient= new DefaultAcsClient($profile);
    $request = new \Dysmsapi\Request\V20170525\SendSmsRequest();
//$request = new SendSmsRequest;
//必填-短信接收号码
    $request->setPhoneNumbers($tel);
//必填-短信签名
    $request->setSignName($row['signname']);
//必填-短信模板Code
    $request->setTemplateCode($row['templatecode']);
    $num = rand(100000,999999);
    cookie($tel.'messageCode',$num);//保存到cookie
//选填-假如模板中存在变量需要替换则为必填(JSON格式)
    $request->setTemplateParam("{'code':$num}");
//选填-发送短信流水号
//    $request->setOutId("1234");
//发起访问请求
    $acsResponse = $acsClient->getAcsResponse($request);
    return $acsResponse;
}

猜你喜欢

转载自blog.csdn.net/qd55815634/article/details/78583898