TP5整合的阿里雲短信接口


現階段,短信的應用主要就是用來驗證下手機號是不是正常的手機號。只要涉及到用戶手機號的問題的時候,都會做短信驗證碼來驗證下改手機號是否是正常手機號。接下來就是操作步驟。

首先要在阿里雲賬號上開通短信功能 然后再設置自己的簽名 和短信模板

先導入阿里短信包,鏈接:https://pan.baidu.com/s/1WzYi313LCvCvgbrE2DAJZg 提取碼:mqhe 

將下載下來的文件解壓之后放在 extend文件夾中,接下來在 application/common.php中添加公共方法 方法如下:

 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 }

然后在自己的方法中直接調用這個方法就行了

代碼如下:

$send = send_sms('手機號',  1, ['code'=>'驗證碼']);
            if($send['Message'] != 'OK'){
                echo '發送失敗';
            }else{
                echo '發送成功';
            }

說明: 上面的驗證碼的值最好是可變的 隨機的

1 $code   =   rand(100000,999999);

 

這樣阿里雲的短信接口就做好了 可以發短信 接收短信了

 


免責聲明!

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



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