阿裡大於已經合並至阿裡雲,好多文档都是寫的以前大於的SDK接入,我在事例中使用的是7.18更新的SDK, 部分代碼借鋻別人部落格
針對還不是很清楚的朋友們寫一次圖文的
1.獲取到accessKeyId和accessKeySecret
開通短信服務後進入
https://dysms.console.aliyun.com/dysms.htm?spm=5176.2020520115.0.0.5e72c4c98dhAUW#/account
滑鼠放置自己用戶名上,會出現下拉框,選中【accesskeys】,選擇繼續使用,獲取到accessKeyId和accessKeySecret
然後申請【短信模板】【短信簽名】,請注意,如果短信中出現測試等字樣,很大幾率被運營商攔截,所以請自由發揮
2.下載SDK
https://help.aliyun.com/document_detail/55359.html?spm=5176.doc55451.6.569.0uXt4J
進入後選擇PHP,會得到dysmsapi_demo_sdk__php.zip,解壓
3.放置API
在TP根目錄下創建文档夾【Api】,並將api_sdk整個文档夾複制進去,改名dysms(可自由取名)
4.引入API文档
在自己需要調用的控制器頭部引入如下路徑
1. use Aliyun\Core\Config;
2. use Aliyun\Core\Profile\DefaultProfile;
3. use Aliyun\Core\DefaultAcsClient;
4. use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest;
5. 代碼部分
附上源碼public function sendMsg($mobile,$username)
{ require_once './Api/dysms/vendor/autoload.php'; //此處爲你放置API的路徑 Config::load(); //加載區域結點配置 $accessKeyId = '*******'; $accessKeySecret = '*******'; $templateCode = '82565004'; //短信模板ID //短信API産品名(短信産品名固定,無需修改) $product = "Dysmsapi"; //短信API産品域名(接口地址固定,無需修改) $domain = "dysmsapi.aliyuncs.com"; //暫時不支持多Region(目前僅支持cn-hangzhou請勿修改) $region = "cn-hangzhou"; // 初始化用戶Profile實例 $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret); // 增加服務結點 DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain); // 初始化AcsClient用於發起請求 $acsClient = new DefaultAcsClient($profile); // 初始化SendSmsRequest實例用於設置發送短信的參數 $request = new SendSmsRequest(); // 必填,設置短信接收號碼 $request->setPhoneNumbers($mobile); //$moblie是我前台傳入的電話 // 必填,設置簽名名稱 $request->setSignName("來自RayZoey"); //此處需要填寫你在阿裡上創建的簽名 // 必填,設置模板CODE $request->setTemplateCode("SMS_84030003"); //短信模板編號 $smsData = array('username'=>$username); //所使用的模板若有變量 在這裡填入變量的值 我的變量名爲username此處也爲username $request->setTemplateParam(json_encode($smsData)); //發起訪問請求 $acsResponse = $acsClient->getAcsResponse($request); //返回請求結果 $result = json_decode(json_encode($acsResponse), true); return $result; }