php 阿里雲短信驗證碼


阿里雲短信服務:https://dysms.console.aliyun.com

1、准備

1.1、創建簽名、模板

1.2、創建、使用阿里雲秘鑰

地址:https://usercenter.console.aliyun.com

創建AccessKey ID和AccessKey Secret

2、安裝

PHP >= 5.5、開啟curl擴展

使用composer下載阿里雲SDK

composer require alibabacloud/sdk

3、使用

3.1、新建配置文件

單獨配置文件保存信息

TemplateCode:模板代碼而非名稱

3.2、創建短信工具類

<?php
/**
 * 阿里雲短信相關
 */

namespace App\Utils;

use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;

class AliSmsUtil
{
    /**
     * 發送短信驗證碼
     * @param $phone:手機號碼
     * @param $code:驗證碼
     */
    public static function sendSmsCode($phone, $code)
    {
        $config = config('alisms');
        $templateParam = json_encode(['code'=>$code]);

        try {
            AlibabaCloud::accessKeyClient($config['AccessKeyId'], $config['AccessKeySecret'])
                ->regionId($config['regionId']) // replace regionId as you need
                ->asDefaultClient();

            $result = AlibabaCloud::rpc()
                ->product('Dysmsapi')
                // ->scheme('https') // https | http
                ->version('2017-05-25')
                ->action('SendSms')
                ->method('POST')
                ->options([
                    'query' => [
                        'PhoneNumbers' => $phone,
                        'SignName' => $config['SignName'],
                        'TemplateCode' => $config['TemplateCode'],
                        'TemplateParam' => $templateParam,
                        'RegionId' => $config['regionId'],
                    ],
                ])
                ->request();
            print_r($result->toArray());
        } catch (ClientException $e) {
            echo $e->getErrorMessage() . PHP_EOL;
        } catch (ServerException $e) {
            echo $e->getErrorMessage() . PHP_EOL;
        }
    }
}

3.3、調用

在控制器或其它地方中調用

AliSmsUtil::sendSmsCode('13*******17','FwP5');


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM