在開發過程中總會遇到需要發送短信的需求,以下介紹使用騰訊雲短信api來發送短信的詳細過程。
1、登錄騰訊雲,在應用列表裏創建你的應用,輸入你的應用名稱,應用簡介
2、點擊應用,獲取應用的SDK AppID和AppKey
SDK AppID和AppKey如下圖所示
3、創建簽名
一個完整的短信由短信簽名和短信正文內容兩部分組成,短信簽名須申請和審覈,簽名在簽名管理進行創建申請。(這裏申請要提交一些必要的證明信息截圖,根據你申請的是什麼的類型進行準備)
4、申請短信模板
同樣短信正文內容模板也要申請和審覈,在正文模板管理 ,進行創建。
接下來就是等待審覈通過,當以上步驟都完成通過後,就能獲取到AppID、AppKey、簽名ID、模板ID
5、配置 SDK
方法一:Composer 配置
qcloudsms_php採用composer進行安裝,要使用qcloudsms功能,只需要在composer.json中添加如下依賴:
{
"require": {
"qcloudsms/qcloudsms_php": "0.1.*"
}
}
執行composer update,如果是初次使用執行composer install
方法二:手動配置
(1).手動下載或 clone 最新版本 qcloudsms_php 代碼。
(2).把 qcloudsms_php src 目錄下的代碼放入 Autoloading 目錄。
(3).引入 require qcloudsms_php src 目錄下面的 index.php 即可使用,如把 qcloudsms 放在當前目錄下,只需要執行以下命令:
require DIR . “/qcloudsms_php/src/index.php”;
6、配置短信參數信息
將準備好的參數寫到配置文件裏面
<?php
return [
'app_id' => '1400009099',
'app_key' => '61f38*************7ec7b6',
'sms_sign' => '23**19',
'template_id' => '35**46',
];
7、封裝短信發送類
<?php
/**
* 短信相關
*/
namespace App\Utils;
use Qcloud\Sms\SmsSingleSender;
class sentMessage
{
/**
* 騰訊雲 發送短信驗證碼
* @param $phone:手機號碼
* @param $code:驗證碼
*/
public function SendSmsCode($phone, $code)
{
//讀取config/sms.php配置信息
$config = getConfig('message_config');
try {
$sender = new SmsSingleSender($config['app_id'],$config['app_key']);
$result = $sender->sendWithParam("86", $phone,
$config['template_id'],$code, $config['sms_sign'], "", "");
$rsp = json_decode($result);
//echo $rsp;
//0代表成功
if($rsp->result == 0){
return true;
}
} catch(\Exception $e) {
echo var_dump($e);
}
}
}
8、調用封裝短信發送類
$sentMessage = new sentMessage();
$sentMessage->SendSmsCode('12345678910', 'abcd12');
附騰訊雲短信api官方文檔:https://cloud.tencent.com/document/product/382/18071