php騰訊雲短信驗證碼


騰訊雲短信控制台:https://console.cloud.tencent.com/sms

騰訊雲短信 PHP SDK:https://github.com/qcloudsms/qcloudsms_php

案例使用laravel框架

1、准備

1.1、獲取SDK AppID和AppKey

​ 雲短信應用SDK AppID和AppKey可在短信控制台的應用信息里獲取,如您尚未添加應用,請到短信控制台中添加應用。

1.2、申請簽名

​ 一個完整的短信由短信簽名和短信正文內容兩部分組成,短信簽名須申請和審核,簽名可在短信控制台的相應服務模塊內容配置中進行申請。

(騰訊的短信簽名申請比較麻煩,需要網站的備案信息)

1.3、申請模板

​ 同樣短信或語音正文內容模板須申請和審核,模板可在短信控制台的相應服務模塊內容配置中進行申請。

1.4、完成

以上步驟完成,拿到AppID、AppKey、簽名ID、模板ID

2、安裝

​ qcloudsms_php采用composer進行安裝,要使用qcloudsms功能,只需要在composer.json中添加如下依賴:

{
	"require": {
		"qcloudsms/qcloudsms_php": "0.1.*"
	}
}

執行composer update,如果是初次使用執行composer install

3、代碼

3.1、短信配置信息

建准備的AppId、AppKey、簽名、模板ID存到配置文件中,新建配置文件config/sms.php

<?php

return [
    'app_id' => '140****927',
    'app_key' => '8a714*************75ab7d',
    'sms_sign' => '21**18',
    'template_id' => '31**96',
];

3.2、封裝一個短信發送類

<?php
/**
 * 短信相關
 */
namespace App\Utils;
use Qcloud\Sms\SmsSingleSender;

class SmsUtil
{
    /**
     * 騰訊雲 發送短信驗證碼
     * @param $phone:手機號碼
     * @param $code:驗證碼
     */
    public static function SendSmsCode($phone, $code)
    {
        $config = config('sms');//讀取config/sms.php配置信息

        try {
            $sender = new SmsSingleSender($config['app_id'], $config['app_key']);
            $params = [$code];
            $result = $sender->sendWithParam("86", $phone, $config['template_id'],
                $params, $config['sms_sign'], "", "");  // 簽名參數未提供或者為空時,會使用默認簽名發送短信
            $rsp = json_decode($result);
            if($rsp->result == 0){//0代表成功
                return true;
            }
            \Log::error('發送短信驗證碼失敗:'.$result);
        } catch(\Exception $e) {
        }
        return false;
    }
}

3.3、調用

SmsUtil::SendSmsCode('12345678910', 'YhP4');


免責聲明!

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



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