TP5整合的阿里雲短信接口

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

相關文章
相關標籤/搜索