thinkphp5.1对接阿里云短信

    技术2023-11-07  86

    1.Composer 安装依赖

    作为ThinkPHP5 超方便的工具,强烈建议使用 Composer,你会发现它的便利与快捷性

    运行命令: composer require alibabacloud/client 2加粗样式****

    <?php namespace app\index\home; use AlibabaCloud\Client\AlibabaCloud; use AlibabaCloud\Client\Exception\ClientException; use AlibabaCloud\Client\Exception\ServerException; class Base extends Controller public static function sms($phone, $type ,$message = '') { // echo 1;die; $config = config('aliyun_sms'); //阿里云配置信息 $signName = '测试信息'; //配置签名 // //TODO 随机生成一个6位数 // $authCodeMT = array( // "code" => "555佛挡杀佛555",//验证码 // "product" => "【全范德萨范德萨发民房评网】" // ); // //TODO 短信模板变量替换JSON串,友情提示:如果JSON中需要带换行符,请参照标准的JSON协议。 // $jsonTemplateParam = json_encode($authCodeMT); AlibabaCloud::accessKeyClient($config['accessKeyId'], $config['accessSecret']) ->regionId('cn-hangzhou') ->asGlobalClient(); if ($type == 1) { $code = mt_rand(100000,999999); //TODO 随机生成一个6位数 $authCodeMT = array( "code" => $code,//验证码 ); Cache::set('code'.$phone,$code,600); //TODO 短信模板变量替换JSON串,友情提示:如果JSON中需要带换行符,请参照标准的JSON协议。 $jsonTemplateParam = json_encode($authCodeMT); //验证码 $templateCode = '';//配置短信模板编号 try { $result = AlibabaCloud::rpcRequest() ->product('Dysmssystem') // ->scheme('https') // https | http ->version('2017-05-25') ->action('SendSms') ->method('POST') ->host('dysmsapi.aliyuncs.com') ->options([ 'query' => [ 'RegionId' => 'cn-hangzhou', 'PhoneNumbers' => $phone, 'SignName' => $signName, 'TemplateCode' => $templateCode, 'TemplateParam' => $jsonTemplateParam, ], ]) ->request(); $opRes = $result->toArray(); if ($opRes && $opRes['Code'] == "OK") { $arr = ['code' => 1000, 'msg' => '发送成功', '']; } else { $arr = ['code' => 1002, 'msg' => '发送失败', $opRes['Message']]; } } catch (ClientException $e) { $arr = ['code' => 1002, 'msg' => '发送失败', $e->getErrorMessage()]; } catch (ServerException $e) { $arr = ['code' => 1002, 'msg' => '发送失败', $e->getErrorMessage()]; } } } return $arr; }
    Processed: 0.013, SQL: 9