現階段,短信的應用主要就是用來驗證下手機號是否是正常的手機號。只要涉及到用戶手機號的問題的時候,都會作短信驗證碼來驗證下改手機號是不是正常手機號。接下來就是操做步驟。php
首先要在阿里雲帳號上開通短信功能 而後再設置本身的簽名 和短信模板html
先導入阿里短信包,連接:https://pan.baidu.com/s/1WzYi313LCvCvgbrE2DAJZg 提取碼:mqhe 數據庫
將下載下來的文件解壓以後放在 extend文件夾中,接下來在 application/common.php中添加公共方法 方法以下:json
1 <?php 2 use OSS\OssClient; 3 use OSS\Core\OssException; 4 use Aliyun\Core\Config; 5 use Aliyun\Core\Profile\DefaultProfile; 6 use Aliyun\Core\DefaultAcsClient; 7 use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest; 8 9 /** 10 * 短信發送 11 * @param $to 接收人 12 * @param $model 短信模板ID 13 * @param $code 短信驗證碼 14 * @return json 15 * @ 16 */ 17 function send_sms($to, $model, $code) 18 { 19 require_once './extend/alisms/vendor/autoload.php'; 20 Config::load(); //加載區域結點配置 21 $config = '根據你的實際狀況讀取配置文件或讀取數據庫,本項目是將配置寫入數據庫實現'; 22 $accessKeyId = '本身的accessKeyId'; 23 $accessKeySecret = '本身的祕鑰'; 24 $templateParam = $code; 25 //短信簽名 26 $signName = '填寫本身的短信簽名'; 27 //短信模板ID 28 switch ($model) { 29 case 1: 30 $templateCode = '阿里雲中的短信模板編號'; // 註冊登陸短信驗證碼模板 31 break; 32 case 2: 33 $templateCode = $config['model_code_reset']; // 重置密碼短信驗證碼模板 34 break; 35 } 36 //短信API產品名(短信產品名固定,無需修改) 37 $product = "Dysmsapi"; 38 //短信API產品域名(接口地址固定,無需修改) 39 $domain = "dysmsapi.aliyuncs.com"; 40 //暫時不支持多Region(目前僅支持cn-hangzhou請勿修改) 41 $region = "cn-hangzhou"; 42 // 初始化用戶Profile實例 43 $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret); 44 // 增長服務結點 45 DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain); 46 // 初始化AcsClient用於發起請求 47 $acsClient = new DefaultAcsClient($profile); 48 // 初始化SendSmsRequest實例用於設置發送短信的參數 49 $request = new SendSmsRequest(); 50 // 必填,設置雉短信接收號碼 51 $request->setPhoneNumbers($to); 52 // 必填,設置簽名名稱 53 $request->setSignName($signName); 54 // 必填,設置模板CODE 55 $request->setTemplateCode($templateCode); 56 // 可選,設置模板參數 57 if ($templateParam) { 58 $request->setTemplateParam(json_encode($templateParam)); 59 } 60 //發起訪問請求 61 $acsResponse = $acsClient->getAcsResponse($request); 62 //返回請求結果 63 $result = json_decode(json_encode($acsResponse), true); 64 // 具體返回值參考文檔:https://help.aliyun.com/document_detail/55451.html?spm=a2c4g.11186623.6.563.YSe8FK 65 return $result; 66 }
而後在本身的方法中直接調用這個方法就好了api
代碼以下:app
$send = send_sms('手機號', 1, ['code'=>'驗證碼']); if($send['Message'] != 'OK'){ echo '發送失敗'; }else{ echo '發送成功'; }
說明: 上面的驗證碼的值最好是可變的 隨機的dom
1 $code = rand(100000,999999);
這樣阿里雲的短信接口就作好了 能夠發短信 接收短信了ui