ThinkPHP5.1接入阿里云短信服务(原版 SDK) composer安装 2022-07-21

  • 最低要求 PHP 5.6

  • 原版SDK(阿里已不维护):原版SDK
    OpenAPI Explorer:在线示例代码调试

  • 升级版SDK:升级版SDK,
    升级版OpenAPI Explorer:在线示例代码调试

  • composer安装

//原版SDK
composer require alibabacloud/client
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;


    /**
     * 集成方法:阿里云(原大鱼-原版SDK)发送短信
     * @param string $phoneNumber 目标手机号
     * TODO 注意 accessKeyId、accessSecret、signName、templateCode 重要参数的获取配置
     */
    public function sendAliDaYuAuthCode($phoneNumber = '151xxxxxxx3')
    {
        $accessKeyId = 'LTAXXXXXXXXXC';
        $accessSecret = '8gfwbXXXXXXXXXXXXXXXXXXXXXXXXXXXXA'; //注意不要有空格
        $signName = 'XXXXX'; //配置签名
        $templateCode = 'SMS_1XXXXXX5';//配置短信模板编号
        //TODO 随机生成一个6位数
        $authCodeMT = mt_rand(100000, 999999);
        //TODO 短信模板变量替换JSON串,友情提示:如果JSON中需要带换行符,请参照标准的JSON协议。
        $jsonTemplateParam = json_encode(['code' => $authCodeMT], 320);
        /**
         * 需要注意以下几点:
         * regionId必须为:cn-hangzhou,请勿修改。
         * product必须为:Dysmsapi,请勿修改。
         * host必须为:dysmsapi.aliyuncs.com,请勿修改。
         * version必须为:2017-05-25,请勿修改。
         */
        AlibabaCloud::accessKeyClient($accessKeyId, $accessSecret)
            ->regionId('cn-hangzhou')//杭州接入点:cn-hangzhou
            ->asDefaultClient();

        try {
            // 访问产品 APIs,OpenAPI采用RPC签名风格
            $result = AlibabaCloud::rpc()
                ->product('Dysmsapi')
//                ->scheme('https') // https | http
                ->version('2017-05-25')
                ->action('SendSms')//批量发送短信:SendBatchSms
                ->method('POST')
                ->host('dysmsapi.aliyuncs.com')
                ->options([
                    'query' => [
                        'RegionId' => 'cn-hangzhou',//杭州接入点:cn-hangzhou
                        'PhoneNumbers' => $phoneNumber,//目标手机号
                        'SignName' => $signName,
                        'TemplateCode' => $templateCode,
                        'TemplateParam' => $jsonTemplateParam,
                    ],
                ])
                ->request();
            $opRes = $result->toArray();
            //print_r($opRes);
            if ($opRes && $opRes['Code'] == "OK") {
                //进行Cookie保存
                cookie('authCodeMT' . $phoneNumber, $authCodeMT, 300);
            }
        } catch (ClientException $e) {
            echo $e->getErrorMessage() . PHP_EOL;
        } catch (ServerException $e) {
            echo $e->getErrorMessage() . PHP_EOL;
        }
    }

你可能感兴趣的:(ThinkPHP5.1接入阿里云短信服务(原版 SDK) composer安装 2022-07-21)